4:23 you said that sqrt of a floating point can be rewritten with inline assembly. Unless I'm misunderstanding how rustc handles inline assembly I believe that this would make it impossible for the compiler to vectorize it. The thing with intrinsics currently is that they're such a mess that it's hard to say where they should go so that users can find them if you want to remove them from the std library.
I actually really like that idea for adding preludes for crates that automatically get brought into scope. I think as long as the user of the crate has to opt in to use the prelude, I wouldn't have any issues with it. I feel like that is something that I enjoy about Rust's std lib so I think it would be a great addition for any crate to be able to provide that option too.
Stability attributes feel very Rust-y and if I had a dollar for every time I got a deprecated warning with zero information as to what to use instead!! Like, 30+ years of those! Thank you for the talk and those great ideas🎉
Even if it doesn't get to 100%, there are benefits by aspiring to do so. Additionally by dogfooding, there's an incentive for the authors to make Rust as good as possible.
Opt-out preludes are what modpacks are for minecraft. You're bound to get surprising features by using someone else's prelude (modpack), but instead of up to 200 mods, it might be maybe even 800 features
Speaker here! Ask any questions you may have :)
I think I prefer explicitly importing preludes in general. Nice talk.
I find the lang item for Box extremely weird. Is anything preventing Box from being a normal type?
What utility would the standard library being part of cargo actually have?
Interesting talk! How does all of this affect compilation times?
4:23 you said that sqrt of a floating point can be rewritten with inline assembly. Unless I'm misunderstanding how rustc handles inline assembly I believe that this would make it impossible for the compiler to vectorize it. The thing with intrinsics currently is that they're such a mess that it's hard to say where they should go so that users can find them if you want to remove them from the std library.
I actually really like that idea for adding preludes for crates that automatically get brought into scope. I think as long as the user of the crate has to opt in to use the prelude, I wouldn't have any issues with it. I feel like that is something that I enjoy about Rust's std lib so I think it would be a great addition for any crate to be able to provide that option too.
From your talk, it sounds like making the standard library just a regular crate is the destination, but the journey will only make everything better!
This is really interesting. Thank you for the presentation!
Stability attributes feel very Rust-y and if I had a dollar for every time I got a deprecated warning with zero information as to what to use instead!! Like, 30+ years of those! Thank you for the talk and those great ideas🎉
I suddenly want all these things!
Great talk!
What languages treat standard library completely the same as user libraries?
Even if it doesn't get to 100%, there are benefits by aspiring to do so. Additionally by dogfooding, there's an incentive for the authors to make Rust as good as possible.
zig :)
Deno
@jhpratt: Fantastic talk. Thank you.
Interesting talk, thank you
I really like this, the things i will like to be present in Rust 2024 is std as a crate and opt in prelude.
Nothing for preludes would be tied to an edition. Nor will it be happening that quickly :)
Crate preludes will be awesome. I'd prefer them to be opt-out than opt-in
The problem then arises of a dependency adding/extending a prelude, causing your code to break.
Opt-out preludes are what modpacks are for minecraft. You're bound to get surprising features by using someone else's prelude
(modpack), but instead of up to 200 mods, it might be maybe even 800 features