Skip to content

Borrow checking in a-mir-formality #122

@nikomatsakis

Description

@nikomatsakis
Metadata
Point of contact @nikomatsakis
Team(s) types
Goal document 2025h2/a-mir-formality

Summary

Extend a-mir-formality with the ability to represent function bodies as MiniRust programs; a type checker based on the MIR type checker from the compiler; and a model that covers key parts of the the Polonius Alpha proposal.

Tasks and status

  • Implementation of MiniRust integration (@tiif)
  • Implementation of MIR type checker (@tiif)
  • Implementation of Polonius Alpha model (@tiif)
  • Standard reviews (types Team)
  • Dedicated reviewer (types Team)
  • Mentorship (@nikomatsakis)

Note: we have updated the body to match the 2025h2 goal. Your original text is preserved below.

Metadata
Point of contact @nikomatsakis
Team(s) types
Goal document 2025h1/formality

Summary

We will model coherence (including negative impls) in a-mir-formality and compare its behavior against rustc.
This will require extending a-mir-formality with the ability to run Rust tests.

Tasks and status

  • Discussion and moral support (types Team)

Modeling and documenting coherence rules

Running Rust tests in a-mir-formality

Stretch goal: modeling Rust borrow checker

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions