Open ritzdorf opened 2 months ago
vyper --version
When an Call node is passed to _handle_modification, the function fails to handle it and the compiler panics with an unhandled exception.
Call
_handle_modification
The following example demonstrates this behavior:
c: DynArray[DynArray[uint256, 2], 2] @external def foo(): x: uint256 = self.c.pop().pop() # CompilerPanic: unhandled exception
Note: same behaviour for self.nested_array.pop().append(1) as found by @charles-cooper but probably not a bad thing that the compiler crashes given that both examples would lead to an invalid read/write
self.nested_array.pop().append(1)
Version Information
vyper --version
OR linkable commit hash vyperlang/vyper@Issue Description
When an
Call
node is passed to_handle_modification
, the function fails to handle it and the compiler panics with an unhandled exception.POC
The following example demonstrates this behavior: