rfcs
rfcs copied to clipboard
RFCs for changes to Rust
This RFC proposes #[exhaustive] traits to enable sound cross-trait casting for trait objects. For any concrete type T, the set of #[exhaustive] traits it implements is finite and deterministic, allowing...
This RFC was co-authored by Walter Pearce (@walterhpearce) and Josh Triplett (@joshtriplett). Here, we propose the alternative adoption and implementation of The Update Framework for providing the chain and trust...
Zulip: https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Mitigation.20enforcement.20.28.60-C.20allow-partial-mitigations.60.29/with/539293124 [Rendered](https://github.com/arielb1/rfcs/blob/track-mitigations/text/3855-mitigation-enforcement.md)
Tracking issue: https://github.com/rust-lang/rust/issues/142269 # Summary Add an `iter!` macro to provide a better way to create iterators. Implementing the `Iterator` trait directly can be tedious. Generators (see [RFC 3513]) are...
Rust does not allow destructuring types which implement the `Drop` trait. This means that moving data out of such types is hard and error prone. The rationale is that once...
RFC #466 was closed back in the days before we had a protocol for opening up follow-up issues to use to gather links to related discussion. The idea is that...
## Summary A `!` pattern indicates a type with no valid values. It is used to indicate an impossible case when matching an empty type in unsafe code. ```rust enum...
I haven't thought this through fully, but I feel like it should be possible (by definition) for the compiler to act as if `!` implemented every trait, or rather, to...
This RFC proposes that the `#[ignore]` attribute can now be applied to fields. Its purpose is to tell derive macros to ignore the field when generating code. ```rust #[derive(Clone, PartialEq,...