rfcs icon indicating copy to clipboard operation
rfcs copied to clipboard

RFCs for changes to Rust

Results 421 rfcs issues
Sort by recently updated
recently updated
newest added

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...

T-lang
T-types

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...

T-cargo
T-infra
T-crates-io
T-leadership-council

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)

T-compiler

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...

T-lang
I-lang-radar

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...

T-lang
A-patterns
A-drop

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...

T-lang
T-libs-api
A-macros
A-macros-libstd

## 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...

T-lang

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...

T-lang
A-traits
A-typesystem
A-uninhabited

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,...

T-libs-api