Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the intricacies of Rust's borrow checker and its evolution towards the Polonius system in this comprehensive conference talk. Delve into the current mechanisms for tracking moves and initialization, and discover how these functionalities can be transitioned to Polonius. Gain insights into key concepts such as initialization checks, dynamic drops, move paths, and data flow analysis. Examine the complexities of granularity, mirror drop analysis, and initialization states. Investigate move data projections, denotations, and dataflow operators. Learn about the challenges of error handling, drop liveness, and factions within the context of Rust's memory management system. Enhance your understanding of Rust's ongoing development and the future of its borrow checker through this in-depth technical discussion.
Syllabus
Intro
Initialization check
D initialization
D granularity
Dynamic Drop
Mirror Drop
Analysis
Dynamic Access
Move Path
Siblings
Move paths
Initialization State
Move Data
Projections
Moving forward
Moving out
Denotation
Dataflow Operator
Macros
Errors
Drop liveness
Flows
Data Flow Analysis
Access
Factions
Taught by
Rust