-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Libcore and libstd split, with linking to core by default. #1096
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
So I guess we'll be moving things like getopts, term and ebml stuff out of the stdlib? It has to be small if it's linked with every single program. |
We could split the pervasives out into librustperv, add a --noperv flag, and reexport them from std. |
That would be an... unfortunate... abbreviation. |
I like the name prelude (or maybe toplevel) instead of "pervasives", especially given that abbreviation... |
librustpervasives? |
Might I suggest "core"? |
+1 for core. I guess these would consist of a bunch of modules magically present at the top level ( This would also solve the issue of '#fmt' and '#[test]' not working when you don't use std |
I just figured we'd add an implicit "use core (uuid=, vers=); import core::*;" to any crate not compiled with --no-core or such. |
That sounds about right, but I still think defining or importing another |
Doing things like reexporting core::option::t as core::option requires #1115 |
empty not-yet-linked-by-default libcore landed in 447414f |
libcore is now implemented, used and imported by default, and contains a pile of stuff moved from std. I'll carry on with movement and tuning of it but I think this bug can close now. I'll file subsequent bugs per-issue related to its contents. |
This was always a weird feature, and isn't being used in the compiler. Static assertions should be done better than this. This implements RFC rust-lang#1096. Fixes rust-lang#13951 Fixes rust-lang#23008 Fixes rust-lang#6676 This is behind a feature gate, but that's still a [breaking-change]
This was always a weird feature, and isn't being used in the compiler. Static assertions should be done better than this. This implements RFC rust-lang#1096. Fixes rust-lang#13951 Fixes rust-lang#23008 Fixes rust-lang#6676 This is behind a feature gate, but that's still a [breaking-change]
Prefer numeric associated constants in example
…1096) Co-authored-by: Adrian Palacios <73246657+adpaco-aws@users.noreply.github.com>
It would be nice for developer ergonomics (not to mention marketing) to include a
std::pervasives
that's imported by default. Obvious things to go in there are print and option.We'll need to have
rustc
figure out where the stdlib is and add a--nostdlib
option for bootstrapping.The text was updated successfully, but these errors were encountered: