alan
alan copied to clipboard
Compiler error on microstatements with interface types
As discovered during #227 an improper opcode definition can cause the output type to be defined as an interface type. Depending on which opcodes are then used to consume that output, it may or may not compile correctly.
Once we're confident in type inference throughout the language, we should make it a compiler error if the Microstatements layer attempts to emit a line with an interface type as the output to catch this sort of issue much earlier.