Polonius Working Group

Polonius Working Group

working group status: active

This working group aims to explore the integration of the so-called “Polonius analysis” into rustc. Polonius is effectively an “NLL 2.0”-like project, that aims to achieve two goals:

  • improve upon the borrow checker algorithm so that it can accept more rust programs than it currently does;
  • move the core logic of the borrow checker into an independent crate whose behavior can be easily tested and specified.

The base Polonius algorithm was first introduced in this blogpost. The Polonius crate has evolved significantly since then in terms of its implementation details and efficiency, and one of the goals of the working group is to extend the scope of the crate to define the full borrow check analysis.

How can I get involved?

We are still working on defining our roadmap and carving out independent tasks. If you’d like to get involved, the best idea right now is to introduce yourself in our Zulip stream – and perhaps consider attending on our triage meetings.

Are there any resources so I can get up to speed?

nikomatsakis’s blog posts offer the best written documentation at the moment:

Do I need to attend any meetings?

We have a weekly sync meeting. Check the compiler team meeting calendar for the most up to date time. Attendance is not mandatory but recommended as this can be a good opportunity to ask any questions and find new issues to work on.