Note: there is the "A-rust-for-linux" label in the rust repository: https://github.com/rust-lang/rust/labels/A-rust-for-linux.
Features that we would like to see
Required (we almost certainly want them)
Nice to have (not critical, we could workaround if needed, etc.)
Low priority (we will likely not use them in the end)
Done (stabilized, fixed, not needed anymore, etc.)
Bugs that we would like to see fixed
Required (we almost certainly want them)
Nice to have (probably not critical, we could workaround if needed, etc.)
Low priority (we will likely not use them in the end)
Done (stabilized, fixed, or not needed anymore, etc.)
Note: there is the "A-rust-for-linux" label in the
rustrepository: https://github.com/rust-lang/rust/labels/A-rust-for-linux.Features that we would like to see
Required (we almost certainly want them)
Disabling atomics (i.e. only allowing the LKMM ones introduced in v6.18 in the
kernelcrate).core" topic.Guaranteeing
TypeId's size is at most 16 bytes.TypeIdrust-lang/rust#148265.Nice to have (not critical, we could workaround if needed, etc.)
Disabling 128-bit features.
core" topic.no_iu128_fmtconfig to disable 128 bit integer formatting. rust-lang/rust#136385.Disabling floating-point features.
core" topic.f32etc.).cfgto disable formatting of floating point): core: add unstable no_fp_fmt_parse to disable float formatting code rust-lang/rust#86048.Disabling Unicode features / a way to use external tables.
core" topic.Clarify invariants of the
Layouttype.Layoutto "a layout suitable to an allocated object"? Is it library / language UB? (currently it appears to be the former).Layouttype documentation.c_stringify!,c_concat!,c_file!macros.c_str!macro to then doc_str!(stringify!(...))orc_str!(concat!(...)).Clarify
addr_of!documentation about whether it creates read-only pointers or not.Moving towards
core::ffi::CStr(fromkernel::str::CStr).kernel::str::CStrbycore::ffi::CStr#1075.impl Display for CStrACP:impl Display for CStrrust-lang/libs-team#550.impl Display for CStrTracking Issue: Tracking Issue forCStr::displayrust-lang/rust#139984.impl Display for CStrPR: addCStr::displayrust-lang/rust#139994.ByteStrTracking Issue: Tracking Issue for ByteStr/ByteString rust-lang/rust#134915.DisplayandFromStr, and their interactions rust-lang/rust#136687.container_of!in the standard library.Low priority (we will likely not use them in the end)
coreones.Atomicrust-lang/rust#130539.Atomic<T>rust-lang/libs-team#443.Atomic<T>type alias rust-lang/rust#130543.Atomic<T>type alias (rebase) rust-lang/rust#136316 (1.88).Done (stabilized, fixed, not needed anymore, etc.)
Ensure
no_fp_fmt_parsebuilds are warning-free.no_fp_fmt_parsebuilds are warning-free rust-lang/rust#105811.Ensure
no_global_oom_handlingbuilds are warning-free.coreunderno_global_oom_handlingrust-lang/rust#110652.C string equivalents (nul-terminated) for
core::panic::Location(or a flag to ensure there is a\0after thestrs).feature(location_file_nul).#[track_caller]rust-lang/rust#141727.file!(), it is fine, since we can easily transform those withc_str!(which we already do), so it is a nice to have (see the related item below).core::panic::Location::filerust-lang/libs-team#466 (accepted).core::panic::Locationfile strings rust-lang/rust#117431.feature(int_lowest_highest_one), i.e.{highest,lowest_one}({first,last}_set_bit) for integer types.feature(int_lowest_highest_one).int_lowest_highest_onerust-lang/rust#145203.int_lowest_highest_onefor integer and NonZero types rust-lang/rust#145381 (1.91).first_set_bitandlast_set_bitfor integer types rust-lang/libs-team#631.Bugs that we would like to see fixed
Required (we almost certainly want them)
Nice to have (probably not critical, we could workaround if needed, etc.)
Low priority (we will likely not use them in the end)
Done (stabilized, fixed, or not needed anymore, etc.)
Fix warning when libcore is compiled with no_fp_fmt_parse rust-lang/rust#105434.
Fix
no_global_oom_handlingbuild.Inline floating-point methods to avoid requiring intrinsics.
midpoint,next_up,next_downare not marked as#[inline], which makes them appear under-Osarm64, see Zulip: https://rust-for-linux.zulipchat.com/#narrow/stream/288089-General/topic/v6.2E11-rc1.20doesn't.20build.20for.20arm64/near/455637364.{f32,f64}::{next_up,next_down,midpoint}inline rust-lang/rust#128749.CFI failure on
core::fmt::write()when FineIBT is enabled.