rfcs
rfcs copied to clipboard
RFCs for changes to Rust
[Rendered](https://github.com/jyn514/rfcs/blob/register-tool/text/3808-register-tool.md) Co-authored by @BD103. Thank you to everyone who gave feedback on early versions of this RFC.
Add a new visible lint level below `warn` to allow linters to act like a pair-programmer / code-reviewer where feedback is evaluated on a case-by-case basis. - `cargo` does not...
Special case struct patterns containing only a rest pattern (e.g., `Foo { .. }`) so that they can match values of any type with the appropriate name, not just structs...
Allow declaring proc macro attributes and derive macros as unsafe, and requiring `unsafe` to invoke them. [Rendered](https://github.com/joshtriplett/rfcs/blob/unsafe-derives/text/3715-unsafe-derives-and-attrs.md)
[Rendered](https://github.com/y86-dev/rfcs/blob/field-projection-v2/text/3735-field-projections.md) This is my second attempt at a field projection RFC, [here is the first](http://github.com/rust-lang/rfcs/pull/3318). --- Add field projections, a very general operation. In simple terms, it is a new...
[Rendered](https://github.com/kxxt/rfcs/blob/crate-changelog-field/text/0000-crate-changelog-field.md) This is the second attempt to introduce the `changelog` field into crate manifest. Previous attempt: https://github.com/rust-lang/rfcs/pull/2129 Comparing with previous attempt, this RFC does not impose any format constraint over...
[The lang-specific RFC policy](https://github.com/rust-lang/rfcs/blob/0c497c4e7b18b0062c4542660ae8eb5d184612f1/lang_changes.md) states: > The result of triage will either be that the PR is assigned to a member of the sub-team for shepherding, [or the PR is...
Add a `Forget` marker trait indicating whether it is safe to skip the destructor before the value of a type exits the scope and basic utilities to work with `!Forget`...
Sometimes I have a key type which implements Clone, but for efficiency reasons I don't want to clone it unless it's absolutely necessary. In this case it would be nice...
[Rendered](https://github.com/folkertdev/rust-rfcs/blob/labeled-match/text/3720-labeled-match.md) This RFC adds `loop match`: - a `loop` and `match` can be fused into a `loop match { /* ... */ }` - a `loop match` can be targeted...