Tatsuyuki Ishi
e098985939
Deny bare_trait_objects globally
2018-07-25 10:25:29 +09:00
ljedrz
217f8fbd45
Revert borked changes in last commit.
2018-07-11 10:19:54 +02:00
ljedrz
cd44b3ddad
Add missing dyn in liballoc
2018-07-10 22:32:19 +02:00
ljedrz
296e72f11c
Deny bare trait objects in in src/liballoc
2018-07-10 20:45:16 +02:00
Simon Sapin
b842177cfa
Add the alloc::prelude module
...
It contains the re-exports that are in `std::prelude::v1`
but not in `core::prelude::v1`.
Calling it prelude is somewhat of a misnomer since (unlike those modules
in `std` or `core`) its contents are never implicitly imported in modules.
Rather it is intended to be used with an explicit glob import like
`use alloc::prelude::*;`.
However there is precedent for the same misnomer with `std::io::prelude`,
for example.
This new module is unstable with the same feature name as the `alloc` care.
They are proposed for stabilization together in RFC
https://github.com/rust-lang/rfcs/pull/2480
2018-07-07 23:08:43 +02:00
Jorge Aparicio
0ed32313a2
#[cfg(target_has_atomic_cas)] -> #[cfg(target_has_atomic = "cas")]
2018-07-05 16:52:46 -05:00
Jorge Aparicio
bbf688a84d
enable Atomic*.{load,store} for ARMv6-M / MSP430
...
closes #45085
this commit adds an `atomic_cas` target option and an unstable `#[cfg(target_has_atomic_cas)]`
attribute to enable a subset of the `Atomic*` API on architectures that don't support atomic CAS
natively, like MSP430 and ARMv6-M.
2018-07-05 16:44:29 -05:00
bors
48af7714d8
Auto merge of #51717 - Mark-Simulacrum:snap, r=alexcrichton
...
Bootstrap from 1.28.0 beta
2018-06-30 21:01:05 +00:00
Mark Simulacrum
ad97f8b491
Bootstrap from 1.28.0-beta.3
2018-06-30 13:17:49 -07:00
Simon Sapin
15bb6c431d
liballoc docs: Remove “not intended for general usage”
2018-06-29 14:01:33 +02:00
Simon Sapin
c7638edf52
Rename alloc::arc to alloc::sync, to match std::sync
2018-06-29 14:01:33 +02:00
Simon Sapin
3394fb7bb7
Remove the Vec and String reexports at the root of the alloc crate
...
… since `std` has no corresponding reexports.
Use `alloc::vec::Vec` and `alloc::string::String` instead.
2018-06-29 14:01:33 +02:00
Simon Sapin
121b57b87a
Move some alloc crate top-level items to a new alloc::collections module
...
This matches std::collections
2018-06-29 14:01:33 +02:00
Simon Sapin
26324d0abe
Remove the unstable alloc::allocator module reexport, deprecated since 1.27
2018-06-29 14:01:33 +02:00
Clar Charr
b5cee029a5
Add str::split_ascii_whitespace.
2018-06-27 17:54:27 -04:00
Simon Sapin
e2aef92c19
Stabilize #[repr(transparent)]
...
Tracking issue FCP: https://github.com/rust-lang/rust/issues/43036#issuecomment-394094318
Reference PR: https://github.com/rust-lang-nursery/reference/pull/353
2018-06-12 06:49:07 +02:00
bors
4367e41ea2
Auto merge of #51241 - glandium:globalalloc, r=sfackler,SimonSapin
...
Stabilize GlobalAlloc and #[global_allocator]
This PR implements the changes discussed in https://github.com/rust-lang/rust/issues/49668#issuecomment-393263510
Fixes #49668
Fixes #27389
This does not change the default global allocator: #36963
2018-06-12 00:36:21 +00:00
Simon Sapin
8c30c51686
Remove deprecated heap modules
...
The heap.rs file was already unused.
2018-06-11 13:47:27 -07:00
tinaun
6e5c18e8dc
add a few blanket future impls to std
2018-06-08 17:56:59 -04:00
bors
19d0b539aa
Auto merge of #51263 - cramertj:futures-in-core, r=aturon
...
Add Future and task system to the standard library
This adds preliminary versions of the `std::future` and `std::task` modules in order to unblock development of async/await (https://github.com/rust-lang/rust/issues/50547 ). These shouldn't be considered as final forms of these libraries-- design questions about the libraries should be left on https://github.com/rust-lang/rfcs/pull/2418 . Once that RFC (or a successor) is merged, these APIs will be adjusted as necessary.
r? @aturon
2018-06-06 19:42:19 +00:00
Taylor Cramer
a6055c8859
Add Future and task system to the standard library
2018-06-06 10:41:52 -07:00
Thayne McCombs
9d770e9959
Stabilize SliceIndex trait.
...
Fixes #35729
According to recommendations in
https://github.com/rust-lang/rust/issues/35729#issuecomment-377784884
2018-06-01 00:04:26 -06:00
Mark Simulacrum
9e3432447a
Switch to 1.26 bootstrap compiler
2018-05-17 08:47:25 -06:00
Simon Sapin
89d9ca9b50
Stabilize num::NonZeroU*
...
Tracking issue: https://github.com/rust-lang/rust/issues/49137
2018-05-16 19:11:31 +02:00
F001
160063aad2
make String::new() const
2018-05-05 16:38:27 +08:00
bors
a4a7947259
Auto merge of #49724 - kennytm:range-inc-start-end-methods, r=Kimundi
...
Introduce RangeInclusive::{new, start, end} methods and make the fields private.
cc #49022
2018-05-01 10:10:46 +00:00
bors
357bf00f1c
Auto merge of #48925 - zackmdavis:fn_must_stabilize, r=nikomatsakis
...
stabilize `#[must_use]` for functions and must-use comparison operators (RFC 1940)
r? @nikomatsakis
2018-04-30 22:02:33 +00:00
kennytm
b88c152784
Rollup merge of #50233 - mark-i-m:const_vec, r=kennytm
...
Make `Vec::new` a `const fn`
`RawVec::empty/_in` are a hack. They're there because `if size_of::<T> == 0 { !0 } else { 0 }` is not allowed in `const` yet. However, because `RawVec` is unstable, the `empty/empty_in` constructors can be removed when #49146 is done...
2018-05-01 01:18:36 +08:00
kennytm
fba903a435
Make the fields of RangeInclusive private.
...
Added new()/start()/end() methods to RangeInclusive.
Changed the lowering of `..=` to use RangeInclusive::new().
2018-04-30 21:01:13 +08:00
Zack M. Davis
3dbdccc6a9
stabilize #[must_use] for functions and must-use operators
...
This is in the matter of RFC 1940 and tracking issue #43302 .
2018-04-28 20:32:49 -07:00
Mark Mansi
c122b3a42c
not insta-stable
2018-04-26 22:38:39 -05:00
Matthias Krüger
5d37ba1990
mark std::str::replacen and std::str::replace as #[must_use].
2018-04-23 21:44:44 +02:00
Simon Sapin
70fdd1b5c0
Make the unstable StrExt and SliceExt traits private to libcore in not(stage0)
...
`Float` still needs to be public for libcore unit tests.
2018-04-21 09:47:38 +02:00
Simon Sapin
f0705bf033
Replace StrExt with inherent str methods in libcore
2018-04-21 09:47:37 +02:00
Simon Sapin
90f29fbdb1
Replace SliceExt with inherent [T] methods in libcore
2018-04-21 09:45:18 +02:00
tinaun
b84baf2378
stabilize nonnull_cast feature
2018-04-17 01:22:28 -04:00
tinaun
78a8c25703
stabilize swap_with_slice feature
2018-04-17 00:49:24 -04:00
tinaun
edc412c5a9
stabilize slice_rsplit feature
2018-04-17 00:48:23 -04:00
Mike Hommey
fddf51ee0b
Use NonNull<Void> instead of *mut u8 in the Alloc trait
...
Fixes #49608
2018-04-12 22:53:22 +02:00
Simon Sapin
eae0d46893
Restore Global.oom() functionality
...
… now that #[global_allocator] does not define a symbol for it
2018-04-12 22:53:21 +02:00
Simon Sapin
5e5a0c21fc
Separate alloc::heap::Alloc trait for stage0 #[global_allocator]
2018-04-12 22:52:54 +02:00
Simon Sapin
743c29bdc5
Actually deprecate heap modules.
2018-04-12 22:52:47 +02:00
Simon Sapin
09e8db1e4f
Rename heap modules in the core, alloc, and std crates to alloc
2018-04-12 22:52:47 +02:00
bors
9afed64645
Auto merge of #49551 - scottmcm:deprecate-offset_to, r=KodrAus
...
Deprecate offset_to; switch core&alloc to using offset_from instead
Bonus: might make code than uses `.len()` on slice iterators faster
cc https://github.com/rust-lang/rust/issues/41079
2018-04-12 08:29:10 +00:00
Simon Sapin
ef41788cf3
Mark the rest of the unicode feature flag as perma-unstable.
2018-04-12 00:13:53 +02:00
Simon Sapin
b2027ef17c
Deprecate the std_unicode crate
2018-04-12 00:13:51 +02:00
Mark Simulacrum
c115cc655c
Move deny(warnings) into rustbuild
...
This permits easier iteration without having to worry about warnings
being denied.
Fixes #49517
2018-04-08 16:59:14 -06:00
Alex Crichton
8958815916
Bump the bootstrap compiler to 1.26.0 beta
...
Holy cow that's a lot of `cfg(stage0)` removed and a lot of new stable language
features!
2018-04-05 07:13:45 -07:00
bors
01d0be9925
Auto merge of #48851 - petrochenkov:genparattr, r=nikomatsakis
...
Stabilize attributes on generic parameters
Closes https://github.com/rust-lang/rust/issues/48848
2018-04-05 07:31:56 +00:00
Vadim Petrochenkov
1a2a23447e
Stabilize attributes on generic parameters
2018-04-05 02:19:56 +03:00