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

Use custom smart pointers with trait objects. [Rendered](https://github.com/Darksonn/rfcs/blob/derive-smart-pointer/text/3621-derive-smart-pointer.md) Tracking issue: https://github.com/rust-lang/rust/issues/123430 --- Co-authored by @Darksonn and @Veykril Thank you to @compiler-errors for [the original idea](https://rust-lang.zulipchat.com/#narrow/stream/410673-t-lang.2Fmeetings/topic/RfL.20meeting.202024-02-21/near/422701742)

T-lang
final-comment-period
disposition-merge

Primitive representations on enums now accept type aliases, meaning that in addition to primitives like `#[repr(u32)]`, `#[repr(tag = core::ffi::c_int)]` and `#[repr(tag = my_type)]` are now accepted. Internals discussion: https://internals.rust-lang.org/t/pre-rfc-type-aliases-in-repr/20956 Last...

T-lang
proposed-final-comment-period
disposition-merge
S-waiting-on-team

[Rendered](https://github.com/tgross35/rfcs/blob/feature-documentation/text/3485-feature-documentation.md) RFC for `feature-documentation` RFC goals: add a way to write feature descriptions in Cargo.toml This was split from https://github.com/rust-lang/rfcs/pull/3416 ```toml [features] # current configuration foo = [] # Add...

T-cargo
proposed-final-comment-period
disposition-merge

This RFC proposes a leading-dot syntax for path inference in type construction and pattern matching. When the expected type is known from context, developers can write `.Variant`, `.Variant { …...

T-lang

In embedded systems development, there's usually a small maximum binary size. (e.g. 8KiB). The size of core::fmt when compiled into the executable is too big for this. Take a freestanding,...

This RFC proposes optional names for repetition groups in macros: ```rust macro_rules! foo { ( $group1( $a:ident ),+ ) => { $group1( println!("{}", $a); )+ } } ``` [Rendered](https://github.com/tgross35/rfcs/blob/macros-named-capture-groups/text/3649-macros-named-capture-groups.md) Small...

T-lang
A-macros

For example, Clang has [`#pragma loop`](http://clang.llvm.org/docs/LanguageExtensions.html#extensions-for-loop-hint-optimizations) which allow the programmer to guide loop unrolling, vectorization, and other optimizations. This is useful in high performance code because heuristics are often fallible...

T-lang
T-compiler

Currently, the following is a syntax error: ```rust enum MyEnum { StructVariant { a: String, b: u64, }, } fn matcher(e: MyEnum) { match e { MyEnum::StructVariant v@{ .. }...

T-lang

Enum of named structs is one of usual patterns: ```rust struct Foo {} struct Bar {} enum FooBar { Foo(Foo), Bar(Bar), } ``` Are there any ways to reduce the...

This may be a bit long. I thought it would be best to go over the interactions with other language features and tooling as well as potential impacts thoroughly in...

T-lang
T-types