Open tserg opened 1 year ago
Because the first example now compiles, the following results in vyper.exceptions.CodegenPanic: unhandled exception None, parse_Attribute
@external
def foo():
x:uint256 = (self if True else self).balance
yea, i'm not sure it should compile, it just happens to typecheck (which is arguably a bug)
Version Information
vyper --version
): https://github.com/vyperlang/vyper/commit/9e3b9a2b8ae55aa83b5450080f750be15f819de7python --version
): 3.10.4What's your issue about?
This contract fails to compile with an
AssertionError
-(isinstance(contract_address.typ, InterfaceT))
inir_for_external_call
.Note: In case this exmaple is valid Vyper syntax, one would need to be careful as several analysis and sanity checks (e.g circularity checks) rely on the fact that function calls are always on the form
self.FUNC_NAME
.This contract fails to compile with
vyper.exceptions.TypeCheckFailure: Name node did not produce IR.
h/t @trocher
How can it be fixed?
Fill this in if you know how to fix it.