Skip to main content

Module typecheck

Module typecheck 

Source
Expand description

Type checking pass

This pass:

  1. Infers types for all expressions
  2. Checks that operators are applied to correct types
  3. Checks that function calls have correct arguments
  4. Tracks unsafe context and enforces safety rules

Structs§

SafetyContext
Tracks whether we’re in an unsafe context
TypeChecker
Type checker
TypeContext
Type context for tracking types during type checking