12 May 2021
Niko and Jack Huey walking through how caching of trait evaluation works. The context is explaining PR #85186.
- 3 participants
- 1:09 hours
31 May 2019
Discussed how the current borrow checker tracks moves and initialization and how to move that logic to polonius.
Dropbox paper link:
https://paper.dropbox.com/doc/Polonius-and-initialization--AeKw2KzJcfEftnZDZ5C9cV8iAg-mNvR4jqITCdsJDUMEhFbv
Dropbox paper link:
https://paper.dropbox.com/doc/Polonius-and-initialization--AeKw2KzJcfEftnZDZ5C9cV8iAg-mNvR4jqITCdsJDUMEhFbv
- 2 participants
- 1:08 hours
26 Apr 2019
This discussion covers how types are represented in rustc. It discusses the `Ty` type, generics and substitution, and type folding.
The Dropbox paper document that is being shared in the video can be found here:
https://paper.dropbox.com/doc/Ty-lecture--Ab8REO0WfNUvsZSb3L~DliFvAg-8hOUpAEhOvoBQC5EYXKJM
The Dropbox paper document that is being shared in the video can be found here:
https://paper.dropbox.com/doc/Ty-lecture--Ab8REO0WfNUvsZSb3L~DliFvAg-8hOUpAEhOvoBQC5EYXKJM
- 4 participants
- 55 minutes
16 Apr 2019
cramertj and nikomatsakis discuss changes to the region inferencer to try and overcome some of the limitations from https://github.com/rust-lang/rust/issues/56238. In the process, we uncover some strangeness.
Paper doc:
https://paper.dropbox.com/doc/Multiple-Unrelated-Lifetimes-in-Existential-Types--AbbZKR~LigYmDVvXErd4OO0~Ag-AuCQq4Ewy39j8Hnj3n9Qg
Paper doc:
https://paper.dropbox.com/doc/Multiple-Unrelated-Lifetimes-in-Existential-Types--AbbZKR~LigYmDVvXErd4OO0~Ag-AuCQq4Ewy39j8Hnj3n9Qg
- 2 participants
- 1:07 hours
27 Mar 2019
A pragmatic discussion about how to proceed integrating name resolution with Salsa and RLS 2.0.
- 2 participants
- 34 minutes
19 Mar 2019
An overview of the plans for rustc-chalk integration and some brief coverage of how it works in the code itself.
- 3 participants
- 1:03 hours
15 Mar 2019
A walk through the rustc and Polonius code bases, showing how the two are connected.
Paper doc is viewable here: https://paper.dropbox.com/doc/Polonius-Walkthrough-2--AZVdfdGwg3j9xs693~KyChtnAg-Wr90dk3V5DQQem9duos4P
Paper doc is viewable here: https://paper.dropbox.com/doc/Polonius-Walkthrough-2--AZVdfdGwg3j9xs693~KyChtnAg-Wr90dk3V5DQQem9duos4P
- 1 participant
- 29 minutes
6 Mar 2019
We discuss the overall strategy for implementing RFC #2229, pulling together a rough roadmap including a number of refactorings, and identifying some bits of work that can be done independently.
- 3 participants
- 56 minutes
6 Mar 2019
miri is an interpreter for MIR, Rust's internal representation. miri is the foundation for Rust's compile-time evaluation capabilities. Its design enables it to simulate the workings of the machine at a low-level, meaning that it can interpret not only "safe Rust" but also a lot of unsafe Rust code, including complex and highly optimized libraries like the stdlib hashmap. In this talk, compiler team member oli-obk will dig into how miri works, giving us some insight into its architecture, the way that it represents and reasons about memory, and what kinds of capabilities it offers for Rust itself.
- 3 participants
- 1:01 hours
6 Mar 2019
flodiebold introduces how the rust-analyzer type checker works, and we discuss various possible next steps towards integrating chalk with RLS 2.0.
- 2 participants
- 46 minutes
26 Feb 2019
Meeting to discuss impl strategies for various outstanding async-await bugs.
The Dropbox Paper doc that we were using is available here:
https://paper.dropbox.com/doc/2019.02.26-impl-discussion-notes--AYcSQHRnxOOCEjqwYjqmcUjmAg-5v4Q2n9cRn2KYgVyWMphQ
The Dropbox Paper doc that we were using is available here:
https://paper.dropbox.com/doc/2019.02.26-impl-discussion-notes--AYcSQHRnxOOCEjqwYjqmcUjmAg-5v4Q2n9cRn2KYgVyWMphQ
- 2 participants
- 1:01 hours
26 Feb 2019
@matklad walks us through how syntax trees are implemented in rust-analyzer.
Recorded 2019.02.26.
Recorded 2019.02.26.
- 2 participants
- 57 minutes
14 Feb 2019
An overview of how higher-ranked types/trait-bounds (`for<'a> fn(&'a u32)` or `for<'a> T: Foo<'a>`) are implemented in rustc. Focuses on the idea of universes and placeholders and how those are used in subtyping.
The paper doc used in the video is readable here:
https://paper.dropbox.com/doc/Universes-and-57639--AXjnSUh91ZmbD0dDMwTTfFHfAg-vVrMCkndUoXzyrHCOQdq8
Or in gist form:
https://gist.github.com/nikomatsakis/848f6bd0db706b1f0596e7e559588128
The paper doc used in the video is readable here:
https://paper.dropbox.com/doc/Universes-and-57639--AXjnSUh91ZmbD0dDMwTTfFHfAg-vVrMCkndUoXzyrHCOQdq8
Or in gist form:
https://gist.github.com/nikomatsakis/848f6bd0db706b1f0596e7e559588128
- 3 participants
- 51 minutes
31 Jan 2019
Dan Gohman explains the basic idea of the Cranelift code generator, covering the setup of the IR, the overall philosophy of its design, and some details of how it could be integrated with rustc.
- 2 participants
- 53 minutes
29 Jan 2019
The Dropbox Paper has been converted to a gist here:
https://gist.github.com/nikomatsakis/0bd497f157a40776216f37d8bbec25cd
Or, if you prefer, you can view the original document here (but it will record your e-mail, I believe):
https://paper.dropbox.com/doc/How-Salsa-Works-2019.01--AWnkDrrWoSyv0yfTleFeyGElAg-u8rQGbebYIxSA8r23muiN
https://gist.github.com/nikomatsakis/0bd497f157a40776216f37d8bbec25cd
Or, if you prefer, you can view the original document here (but it will record your e-mail, I believe):
https://paper.dropbox.com/doc/How-Salsa-Works-2019.01--AWnkDrrWoSyv0yfTleFeyGElAg-u8rQGbebYIxSA8r23muiN
- 1 participant
- 25 minutes
29 Jan 2019
You can view the DropBox paper document anonymously here:
https://gist.github.com/nikomatsakis/5b119a71465549b61743e8739a369b5e
Or you can view the original here:
https://paper.dropbox.com/doc/Salsa-In-More-Depth-2019.01--AWnTZTDJPJ_dsuLU7gIzZeHKAg-wYaiL8t72BdGGPFrnmt7h
https://gist.github.com/nikomatsakis/5b119a71465549b61743e8739a369b5e
Or you can view the original here:
https://paper.dropbox.com/doc/Salsa-In-More-Depth-2019.01--AWnTZTDJPJ_dsuLU7gIzZeHKAg-wYaiL8t72BdGGPFrnmt7h
- 2 participants
- 56 minutes
25 Jan 2019
Walk through the steps to convert the internal representation of closures to use a tuple for the upvar types. In the process, explain a lot about how closures work in rustc itself.
- 2 participants
- 47 minutes
23 Jan 2019
The talk gives a high-level overview of how Rust integration with gdb, lldb, and so forth work. It discusses some of the steps that are needed to add extensions to the DWARF standard for Rust-specific features.
Speaker: Tom Tromey, who added Rust support to gdb, and implemented the rust-lldb debugger.
Speaker: Tom Tromey, who added Rust support to gdb, and implemented the rust-lldb debugger.
- 3 participants
- 53 minutes
20 Jan 2019
A walk-through of the rust-analyzer implementation, which talks about implementing compiler-driven completion for IDEs.
rust-analyzer: https://github.com/rust-analyzer/rust-analyzer
transcript of the talk: https://github.com/rust-analyzer/rust-analyzer/pull/578
rust-analyzer: https://github.com/rust-analyzer/rust-analyzer
transcript of the talk: https://github.com/rust-analyzer/rust-analyzer/pull/578
- 1 participant
- 1:37 hours
10 Jan 2019
Discussing how to refactor the way closure upvar types are represented with @blitzerr.
- 3 participants
- 60 minutes
30 Oct 2018
Discussing how closure desugaring and upvar inference works in rustc today with blitzerr on 2018-10-30
- 3 participants
- 43 minutes
28 Jun 2018
This video was recorded during the Bay Area Rust Meetup in San Francisco, CA, USA on June 28, 2018.
https://www.meetup.com/Rust-Bay-Area/events/251073767/
Sunjay Varma presented an overview of his work on Chalk, the new trait-solving implementation in the Rust Compiler. He talked about the concept of coherence in the Rust language, described how it is implemented in rustc today, and then covered how he has implemented it in Chalk using logic programming.
Talk written and presented by:
Sunjay Varma (https://twitter.com/sunjay03)
https://www.meetup.com/Rust-Bay-Area/events/251073767/
Sunjay Varma presented an overview of his work on Chalk, the new trait-solving implementation in the Rust Compiler. He talked about the concept of coherence in the Rust language, described how it is implemented in rustc today, and then covered how he has implemented it in Chalk using logic programming.
Talk written and presented by:
Sunjay Varma (https://twitter.com/sunjay03)
- 8 participants
- 39 minutes