Skip to content

Remove raw analysis sink pointers from TypeChecker #393

Description

@arniber21

What to build

Replace the type checker's raw mutable annotation and resolution sink pointers with a safe ownership or borrowing design. IDE analysis must collect the same type annotations and resolved references without lifetime erasure or undocumented aliasing assumptions.

Acceptance criteria

  • TypeChecker contains no raw pointers for annotation or resolution output.
  • Analysis callers cannot retain a checker beyond the lifetime of its sinks.
  • Type checking without IDE analysis does not allocate or clone analysis output unnecessarily.
  • Existing hover, references, rename, diagnostics, and typed-program tests retain their behavior.
  • The frontend has no unsafe block related to analysis sinks.

Blocked by

None - can start immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    compilerFrontend / MLIR passes, type system, language semanticsdev-toolingEditor extensions, LSP, formatter, linter, watch/CI toolingenhancementNew feature or requestready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions