Trixie released with rustc 1.85, so I expect a lot of crates will be increasing their MSRV in the next few weeks. I'd like to upgrade only as needed, rough list of what might be nice to have:
- 1.64:
core::ffi::c_* (definitely need this)
- 1.64: workspace-level lints (meh)
- 1.65:
cast_mut (this would be nice)
- 1.67: varargs for non-C extern ABIs (no known applications)
- 1.69:
derive on packed structs that don't implement Copy (not overly useful for us, everything is copy)
- 1.75:
byte_add (this would be nice)
- 1.75:
const_maybe_uninit_zeroed (this would be nice)
- 1.77:
offset_of (just lets us remove a polyfill)
- 1.77: C string literals (nothing we can't work around, not sure we even use this now)
- 1.78:
cfg(target_abi = "...") (no known applications)
- 1.80:
size_of, align_of in prelude (nice to have but we have our own prelude)
- 1.80: variadics without a named parameter (no known applications)
- 1.81:
#[expect(...)] (want this, but it's not pressing)
- 1.82:
unsafe extern blocks (neutral)
- 1.82:
&raw (few small applications, addr_of! works fine)
- 1.82: nested access in
offset_of! (no uses)
- 1.85:
ptr::fn_addr_eq (we don't really need this as it is just for trait impls)
- 1.85: 2024 edition
- 1.92:
&raw [mut|const] to union fields is now safe
Trixie released with rustc 1.85, so I expect a lot of crates will be increasing their MSRV in the next few weeks. I'd like to upgrade only as needed, rough list of what might be nice to have:
core::ffi::c_*(definitely need this)cast_mut(this would be nice)deriveon packed structs that don't implementCopy(not overly useful for us, everything is copy)byte_add(this would be nice)const_maybe_uninit_zeroed(this would be nice)offset_of(just lets us remove a polyfill)cfg(target_abi = "...")(no known applications)size_of,align_ofin prelude (nice to have but we have our own prelude)#[expect(...)](want this, but it's not pressing)unsafe externblocks (neutral)&raw(few small applications,addr_of!works fine)offset_of!(no uses)ptr::fn_addr_eq(we don't really need this as it is just for trait impls)&raw [mut|const]to union fields is now safe