Borrow-checker history

Am I understanding this correctly:

  • 1st gen: "Borrow checker" (the original, unnamed. No longer in use.)
  • 2nd gen: "NLL" (Introduced in 2018 edition, but was backported to previous edition)
    • "NLL 1.0" (In use)
    • Polonius ("NLL 2.0", under development)

I.e. there have been two major generations of borrow checkers, and the second one has two revisions; one is currently in use and the second is in development.

Is this, at least in some vague hand-wavy way, correct?

Before NLL there were at least two borrow checkers.

1 Like

I know someone blogged about rust since very early on, but I can't remember who it was.

Found it: https://smallcultfollowing.com/babysteps/blog/2012/11/18/imagine-never-hearing-the-phrase-aliasable/ and https://pcwalton.github.io/2013/01/21/the-new-borrow-check-in-a-nutshell.html

2 Likes