---
title: "Lang/RfL meeting 2024-12-04"
tags: ["T-lang", "design-meeting", "minutes"]
date: 2024-12-04
discussion: https://rust-lang.zulipchat.com/#narrow/channel/410673-t-lang.2Fmeetings/topic/RfL.20meeting.202024-12-04
url: https://hackmd.io/Mz7sZW0FSs6IGklAzuIfLQ
---
# Lang/RfL meeting 2024-12-04
## Attendance
People: TC, Alicy Ryhl, Andreas Hindborg, Benno Lossin, Boqun Feng, David Wood, Gary Guo, Josh Triplett, Kajetan Puchalski, Miguel Ojeda, nikomatsakis, Wesley Wiser, Xiang Fei Ding
## Tracking
[Tracking issue](https://github.com/rust-lang/rust-project-goals/issues/116)
## Project goals
Made it partway through the list...
## 2025H1 goals
For more details on each, please also see https://github.com/Rust-for-Linux/linux/issues/2.
NM: Which big blocker lang items remain? Those have the longest turnaround time.
NM: After that, it'd be good to know what's the next big area of focus.
List link from : https://hackmd.io/7WEVQjkBRuCPfJDkb4zvrQ
Summarizing
* Close-up language items that didn't quite get done :)
* `arbitrary_self_types` -- adrianptaylor says he plans to pick this up
* `derive_coerce_pointee`
* Stabilization report: https://github.com/rust-lang/rust/pull/133820
* `asm_const`
* `asm_goto`
* Other language items
* orphan rules
* can we target 1.85
* Compiler/Cargo
* Flags RFC
* Rebuilding core --
Boqun Feng: QEMU roadmap: https://lore.kernel.org/all/cc40943e-dec1-4890-a1d9-579350ce296f@pbonzini.local/
Benno Lossin: I recently completed my field projection RFC and put that out today.
https://github.com/rust-lang/rfcs/pull/3735
This would be another lang item here.
### Remaining project goal items to talk about from the previous meeting
The first half of the list was discussed at: https://hackmd.io/7WEVQjkBRuCPfJDkb4zvrQ
- `rustc`: A solution to replace the custom target specification file (including target features, modifiers, sanitizers...), i.e. enough command-line flags to replace it.
Includes Alice's RFC but also includes other things that require the target spec file. Would cover sanitizers and other things we may need to modify.
Overlap, there are many flags that work, but we are blocked on stabilizing them because there is no way to build the stdlib. A bunch of sanitizers that only work if your whole program has been sanitized but we don't really have a path for folks to use them on stable.
With target modifiers + build-std work, there's a clear path to stabilization.
- `rustc`: arch-related flags and target features/modifiers (so far):
+ arm64: `-Zbranch-protection`, `-Zfixed-x18`, `-Zuse-sync-unwind`.
+ x86: `-Zcf-protection`, `-Zfunction-return`, `-Zno-jump-tables`, `-Zpatchable-function-entry`, retpoline (`+retpoline-external-thunk,+retpoline-indirect-branches,+retpoline-indirect-calls`), SLS (`+harden-sls-ijmp,+harden-sls-ret`).
+ x86 32-bit: `-Zregparm=3`, `-Zreg-struct-return`.
+ LoongArch: `-Zdirect-access-external-data`.
- `rustc`: production sanitizer flags: `-Zsanitizer=shadow-call-stack`, `-Zsanitizer=kcfi`, `-Zsanitizer-cfi-normalize-integer`.
- `rustc`: build system: `-Zbinary_dep_depinfo=y`, `-Zcrate-attr` (for `no_std` and allowed features, related: custom prelude).
- `rustdoc`: JSON output for doctests, i.e. the hack, i.e. `--no-run` and `--test-builder`. Alona and Guillaume (t-rustdoc) agree on the feature; Guillaume also agreed to it would be nice to have it as a goal.
- Clippy: configuration file (`.clippy.toml` in particular) and `CLIPPY_CONF_DIR`. They are currently marked as unstable, as if the entire file may be deprecated.
#### Discuss / wish-list / nice to have
- Language: `feature(associated_type_defaults)`.
- Language: `likely`/`unlikely`-like mechanism (there was a recent PR to fix the current intrinsics).
- Language: Support packed types to be aligned or to contain aligned members (RFC ongoing), plus `bindgen` support.
- `core`: C string equivalents (nul-terminated) for `core::panic::Location` (we could workaround on the C side).
- `rustc`: `-Zunsigned-char` (not implemented yet).
- `rustc`: ABI stability related flags for Android.
- `rustc`: `-Zoverflow-checks=report` (not implementated; Mara wanted to drive features that would unblock this one).
- `rustdoc`: External references map file (if someone, e.g. @lolbinarycat, is available).