Skip to content

Change the result type of the unreachable operation to be the same as nop. #654

Closed
@ghost

Description

Allowing the result of the unreachable operation to be consumed introduces a type for this in a bottom up types system. Perhaps it could be modified to be invalid to use this operation in a context that expects a value. Perhaps this is equivalent to changing it to be effectively (new_unreachable) == (block (current_unreachable) (nop))? This might remove one type from the bottom up type system, remove the ANY type that some implementations are currently using?

It might also match it's use in a virtual instruction set in which it writes to no registers.

What do people think?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions