---
# System prepended metadata

title: Lang/RfL meeting 2024-06-19
tags: [T-lang, minutes, design-meeting]

---

---
title: "Lang/RfL meeting 2024-06-19"
tags: ["T-lang", "design-meeting", "minutes"]
date: 2024-06-19
discussion: https://rust-lang.zulipchat.com/#narrow/stream/410673-t-lang.2Fmeetings/topic/RfL.20meeting.202024-06-19
url: https://hackmd.io/gvEjUA1BTiqIPgu3k6TuLg
---

# Discussion

People: TC, nikomatsakis, Josh, Miguel, Andreas, Benno, Boqun, Trevor Gross, Xiang Fei Ding

https://rust-lang.github.io/rust-project-goals/2024h2/rfl_stable.html

https://github.com/nikomatsakis/rfcs/blob/rfl-project-goal/text/0000-rust-for-linux-project-goal-2024h2.md#ownership-and-other-resources

## notes

### arbitrary self types v2

* I'm still looking for someone to work with Adrian Taylor to validate his plan

### derive-smart-pointer

RFC has 5 boxes but a concern, let's finish it up

### asm-goto

* the implementation doesn't cover the entirety of the RFC (in particular the fallthrough part is not implemented)
* but Gary Guo is happy to own that

### offset-of

* FCPs are in progress
* probably won't solve the enum issue for now, but nobody really needs it
* stabilization PR

### RFL in CI

It is now being checked in CI, but what is policy around unstable features?

Takeaway: let's get some writing about the policy here on forge and get compiler team to sign off on it

### Statics in constants

* Had conversation that bottomed out concerns with Ralf + Oli + etc
* Still need to do the write-up
* The note on "unique address not required" is actually wrong and should be corrected
    * also, if there are other patterns

### Stable sanitizer support

* WesleyWiser 
* Niko to follow up with him and push him for create dates
* Good example of where we want to have a tracking issue

### Compiler options

* `-Zfixed-x18` is known and we are making progress
* but I think we need a lot more specifics to know what to prioritize
    * https://github.com/Rust-for-Linux/linux/issues/355 separates out the REQUIRED items
        * `CONFIG_SPECULATION_MITIGATIONS`
            * partially implemented
        * x86 32 bit support (needs implementation)
            * Issue: -Zregparm=3 support in rustc rust-lang/rust#116972.
            * Issue: -Zreg-struct-return support in rustc rust-lang/rust#116973.
        * KASAN
            * PR: Add kernel-address sanitizer support for freestanding targets rust-lang/rust#99679.
        * `-Zpatchable-function-entry` (needs implementation)
            * Candidate implementation: https://github.com/maurer/rust/tree/patchable-function-entries.

* Some discussion about having flag `options(att_syntax)` by default for inline asm.
    * Conclusion is that codegen flag probably isn't correct for this.
    * Crate-level attributes, or perhaps custom prelude that shadows `asm!`.

### Custom builds of core/alloc

* things we want to be doing stably
    * compiling core/compiler-builtins/alloc from rustc (without cargo)
        * Q: do they have dependencies?
        * maybe we can have a "build core" or "build alloc" option that becomes stable sooner
            * but they use unstable features
    * having flags to disable particular bits of functionality
* for problem 1:
    * rough proposal
        * `rustc -Cbuild-std core`
        * `rustc -Cbuild-std compiler-builtins`
        * `rustc -Cbuild-std liballoc`
    * where `-Cbuild-std` means "allow unstable features" but also does some internal checks to ensure they are the sources packaged up with rust (maybe we can hash some subset of the source, e.g., the exact set of features)
        * behavior is "UB" if it is not the thing packaged up with rust
    * we are committed to
        * there will be a core, compiler, and liballoc
* for problem 2:
    * ...

Comment from Gary: you can't really divide problem 1 and problem 2, due to features being passed as flags from Cargo to rustc for building crates, see https://github.com/rust-lang/rust/pull/84266#issuecomment-833085637