Skip to content

Type-Checking for immutable as data location. #13369

Open
@ekpyron

Description

@ekpyron

Depends on #13368.
As a second step of #13323, we properly type check the new code data location.

This entails removing the syntax error introduced in #13368 and instead implementing the type checker logic for the code data location.

This will mostly involve conscious copying of the behaviour of the calldata location in runtime context and of the memory location in creation context. Since code variables behave differently depending on creation vs runtime context, this will require some refactoring of the type checking logic (may overlap with #13365).

This should be accompanied by extensive syntax tests that demonstrate the type checking behaviour.

Finally, in code generation, any attempt to generate code for a code variable should result in an solUnimplementedAssert to be eliminated in subsequent steps.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions