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

We have `From` for infallible, `TryFrom` for checked, and this proposes `WrappingFrom` for modular conversions. [Rendered](https://github.com/scottmcm/rfcs/blob/wrapping-from/text/3703-wrapping-from.md)

T-libs-api

## What is this? Recently, a series of blog posts were published by withoutboats[^1][^2] as well as Olivier Faure[^3] discussing some existing problems with the ergonomics of the `std::pin::Pin` API,...

Right now, the keyword [`use`](https://doc.rust-lang.org/reference/items/use-declarations.html) in [modules and block expressions](https://doc.rust-lang.org/reference/items/use-declarations.html#:~:text=may%20appear%20in%20modules%20and%20blocks%2C) is reserved for including modules, crates, external sources and the use of it is fairly simply. An unsuccessful proposal to...

This adds `resolver.feature-unification` to `.cargo/config.toml` to allow workspace unfication (cargo-workspace-hack) or per-package unification (`cargo hack`). [Rendered](https://github.com/epage/rfcs/blob/feature-unification/text/3692-feature-unification.md)

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

This RFC proposes a feature to provide a guarantee that function calls are tail-call eliminated via the `become` keyword. If this guarantee can not be provided an error is generated...

T-lang

Many crates provide attribute macros. Today, this requires defining proc macros, in a separate crate, typically with several additional dependencies adding substantial compilation time, and typically guarded by a feature...

T-lang
finished-final-comment-period
disposition-merge
to-announce
I-lang-radar

[Rendered](https://github.com/tgross35/rfcs/blob/const-fn-in-trait/text/0000-const-fn-in-trait.md) This RFC allows marking methods in traits as `const`. ```rust trait Foo { const fn bar(a: i32) -> i32; } impl Foo for MyStruct { // Implementation must provide...

T-lang

unsafe keyword is only valid this way: `unsafe { unsafe_function() }` but it cloud be more better if unsafe cloud be written this way: `unsafe unsafe_function()` - it can make...

T-lang

This is something that threw me off years ago when I spent more time than I'd care to admit looking for a `Collection::take()` when it was actually named `Collection::remove()`, more...

T-libs-api

Afaik the shortest way to get the metadata of a raw fd is ```rust let f = unsafe { File::from_raw_fd(fd) }; let metadata = f.metadata(); mem::forget(f); ``` There should be...

T-libs-api