# Polonius review ## What do we want to accomplish? * EOY 2024 goal and the milestones along the way * Resolution to the placeholder question (if possible) ## Goals * EOY 2023 is we have a location-sensitive prototype that is landed on nightly * accepts the tests we want (or important ones) * performance is not important * don't crash * EOY 2024 is "stable on nightly" ## * Rémy's thesis: * Most code is simple and doesn't require complex borrow checking w/ location sensitivity * or perhaps even NLL * evidence: AST borrow check was mostly ok :) Counterexample (sort of): This is probably fairly common, and was not accepted by AST borrow check, but we don't have to be that dumb ```rust let p = &foo; if *p { foo += 1; } ``` Question: how much of a performance regression would we accept? Jack: How "fast" is NLL today? Is it "as fast as it could be"? lqd: No, there's room to be faster. QOTD: "Precise and fast" -- said nobody ever. -lqd ## Less precise analyses * Location insensitive is a max of 3% slower * Jack: This would be a reasonable floor, we could adopt this as the main solution * lqd: our benchmark suite is not complete, though * Amanda: could gather data on the cost of increasingly complex analysis ## Roadmap * Add Niko's graph to the dev guide for onboarding * Land PR (location-insensitive analysis behind flag) * Gather data on how much sensitivity we need * Prototype location sensitive variant (milestone: EOY 2023) * Most naive version * ... (a miracle happens) * SHIP IT