about summary refs log tree commit diff
path: root/src/libcore/lib.rs
AgeCommit message (Collapse)AuthorLines
2019-02-25Stabilize `unrestricted_attribute_tokens`Vadim Petrochenkov-1/+0
2019-02-18Auto merge of #58373 - RalfJung:maybe-uninit, r=gnzlbgbors-0/+1
update stdsimd and remove now-unused MaybeUninit::into_inner That's a huge diff for stdsimd... Cc @gnzlbg @alexcrichton
2019-02-14make Centril happyRalf Jung-1/+1
2019-02-14split MaybeUninit into several features, expand docs a bitRalf Jung-1/+1
2019-02-14add missing feature flagRalf Jung-0/+1
2019-02-13Rollup merge of #58405 - gnzlbg:remove_unused_macros, r=alexcrichtonMazdak Farrokhzad-14/+0
Remove some dead code from libcore These macros are not required to glue the `core_arch` crate anymore.
2019-02-12Remove some dead code from libcoregnzlbg-14/+0
These macros are not required to glue the `core_arch` crate anymore.
2019-02-12Add internal impl_fn_for_zst macro for "named closure types"Simon Sapin-0/+1
2019-02-10Rollup merge of #57259 - king6cong:master, r=alexcrichtonGuillaume Gomez-1/+1
Update reference of rlibc crate to compiler-builtins crate None
2019-02-07Remove images' url to make it work even without internet connectionGuillaume Gomez-3/+1
2019-01-30Add suggestions to deprecation lintsOliver Scherer-0/+1
2019-01-29Auto merge of #57808 - gnzlbg:ustdsimd, r=gnzlbgbors-8/+9
Update stdsimd This is the companion PR to https://github.com/rust-lang-nursery/stdsimd/pull/640 r? @alexcrichton
2019-01-29Update stdsimdgnzlbg-8/+9
2019-01-28Use warn() for extra diagnostics; with -D warnings this leads to errorsRalf Jung-3/+3
This is needed to properly respect "deny_warnings = false" in config.toml
2019-01-28add macro for creating uninitialized arrayRalf Jung-0/+1
2019-01-28avoid mem::uninitialized in BTreeMapRalf Jung-1/+1
2019-01-28libcore: avoid mem::uninitialized and raw ptr castsRalf Jung-0/+1
2019-01-27Auto merge of #56932 - clarcharr:iter_refactor, r=Centrilbors-1/+0
Refactor core::iter module A while back, I refactored `core::ops` in #42523 because the module had become a giant mess and was difficult to modify. Now, I'm doing the same with the `core::iter` module. Like the `core::ops` refactor, things have been split up into multiple commits to make rebasing easier, and so that you can follow changes. Although the diffs are hard to decipher, the only actual code changes I've made in the first few commits are to modify exports and imports. I save all of the actual code refactoring, e.g. modifying what methods are called, for the end.
2019-01-26Bump bootstrap compiler to 1.33 betaMark Rousskov-5/+2
2019-01-22Move TrustedRandomAccess into Zip moduleClar Fon-1/+0
2019-01-17Add initial impl of is_sorted to IteratorKevin Leimkuhler-0/+1
2019-01-15Rollup merge of #57579 - stjepang:once-with, r=SimonSapinMazdak Farrokhzad-0/+1
Add core::iter::once_with() Functions `iter::once()` and `iter::repeat()` construct iterators from values. The latter has the lazy variant `iter::repeat_with()`, but the former doesn't. This PR therefore adds `iter::once_with()`. Another way to think of `iter::once_with()` is that it's a function that converts `FnOnce() -> T` into `Iterator<Item = T>`. If this seems like a reasonable addition, I'll open a tracking issue and update the `#[feature(...)]` attributes.
2019-01-13Add core::iter::once_withStjepan Glavina-0/+1
2019-01-13const stabilize .Mazdak Farrokhzad-0/+1
2019-01-12Auto merge of #57234 - Centril:const-stabilizations-2, r=oli-obkbors-4/+2
Const-stabilize `const_int_ops` + `const_ip` r? @oli-obk ## Note for relnotes: This PR includes https://github.com/rust-lang/rust/pull/57105. I've added T-lang since this affects intrinsics and the operational semantics of Rust's `const fn` fragment. ## Stable APIs proposed for constification + `const_int_ops`: + `count_ones` + `count_zeros` + `leading_zeros` + `trailing_zeros` + `swap_bytes` + `from_be` + `from_le` + `to_be` + `to_le` + `const_ip` + `Ipv4Addr::new` ## Unstable APIs constified + `const_int_conversion`: + `reverse_bits`
2019-01-09Update reference of rlibc crate to compiler-builtins crateking6cong-1/+1
2019-01-08Update stdsimd submoduleGuillaume Gomez-0/+2
2019-01-02Update the stdsimd submoduleAlex Crichton-0/+1
Add a new cmpxchg16b intrinsics for x86_64!
2018-12-31const-stabilize const_int_ops + reverse_bitsMazdak Farrokhzad-1/+1
2018-12-31stabilize const_int_signMazdak Farrokhzad-1/+0
2018-12-31stabilize const_int_rotateMazdak Farrokhzad-1/+1
2018-12-31stabilize const_int_wrapping.Mazdak Farrokhzad-1/+0
2018-12-26Remove the private generic NonZero<T> wrapper type.Simon Sapin-1/+0
Instead, use `#[rustc_layout_scalar_valid_range_start(1)]` directly on relevant libcore types.
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-25Auto merge of #56926 - alexcrichton:update-stdsimd, r=TimNNbors-0/+1
Update the stdsimd submodule This brings in a few updates: * Update wasm intrinsic naming for atomics * Update and reimplement most simd128 wasm intrinsics * Other misc improvements here and there, including a small start to AVX-512 intrinsics
2018-12-23Rollup merge of #56941 - euclio:deny-libstd-resolution-failures, ↵kennytm-0/+1
r=QuietMisdreavus deny intra-doc link resolution failures in libstd Fixes #56693. Until we land a fix for the underlying issue (#56922), we can at least fix the failures in libstd so they don't propagate to downstream crates.
2018-12-18Auto merge of #56160 - oli-obk:const_fn_let, r=nikomatsakisbors-1/+0
Fix various aspects around `let` bindings inside const functions * forbid `let` bindings in const contexts that use short circuiting operators * harden analysis code against derefs of mutable references Initially this PR was about stabilizing `let` bindings, but too many flaws were exposed that need some more testing on nightly
2018-12-17deny intra-doc link resolution failures in libstdAndy Russell-0/+1
2018-12-17Update the stdsimd submoduleAlex Crichton-0/+1
This brings in a few updates: * Update wasm intrinsic naming for atomics * Update and reimplement most simd128 wasm intrinsics * Other misc improvements here and there, including a small start to AVX-512 intrinsics
2018-12-10Update Cargo submodule and its dependenciesAlex Crichton-2/+0
Hopefully just another routine update! So far this starts to enable the `std::arch` in stage0 builds of rustc. This means that we may need stage0/not(stage0) in stdsimd itself, but more and more code is starting to use `std::arch` so I think it's time to start shifting the balance of work here.
2018-12-09Resolve FIXME and cleanupShotaro Yamada-0/+1
2018-11-30Remove unused feature gate from `libcore`Oliver Scherer-1/+0
2018-11-30Remove a bunch of now-unnecessary `const_let` feature gatesOliver Scherer-1/+1
2018-11-27remove uses of feature gateMark Mansi-1/+0
2018-11-15Rollup merge of #55785 - stjepang:unsized-drop-forget, r=alexcrichtonPietro Albini-0/+1
Add mem::forget_unsized() for forgetting unsized values ~~Allows passing values of `T: ?Sized` types to `mem::drop` and `mem::forget`.~~ Adds `mem::forget_unsized()` that accepts `T: ?Sized`. I had to revert the PR that removed the `forget` intrinsic and replaced it with `ManuallyDrop`: https://github.com/rust-lang/rust/pull/40559 We can't use `ManuallyDrop::new()` here because it needs `T: Sized` and we don't have support for unsized return values yet (will we ever?). r? @eddyb
2018-11-13Rollup merge of #55837 - Centril:spökdata-skall-vara-strukturellt-matchbar, ↵kennytm-0/+1
r=eddyb Make PhantomData #[structural_match] fixes https://github.com/rust-lang/rust/issues/55028 This makes `PhantomData<T>` structurally matchable, irrespective of whether `T` is, per the discussion on this week's language team meeting (the general consensus was that this was a bug-fix). All types containing `PhantomData<T>` and which used `#[derive(PartialEq, Eq)]` and were previously not `#[structural_match]` only because of `PhantomData<T>` will now be `#[structural_match]`. r? @nikomatsakis
2018-11-12Auto merge of #55278 - Centril:constification-1, r=alexcrichtonbors-1/+0
Minor standard library constification This PR makes some bits of the standard library into `const fn`s. I've tried to be as aggressive as I possibly could in the constification. The list is rather small due to how restrictive `const fn` is at the moment. r? @oli-obk cc @rust-lang/libs Stable public APIs affected: + [x] `Cell::as_ptr` + [x] `UnsafeCell::get` + [x] `char::is_ascii` + [x] `iter::empty` + [x] `ManuallyDrop::{new, into_inner}` + [x] `RangeInclusive::{start, end}` + [x] `NonNull::as_ptr` + [x] `{[T], str}::as_ptr` + [x] `Duration::{as_secs, subsec_millis, subsec_micros, subsec_nanos}` + [x] `CStr::as_ptr` + [x] `Ipv4Addr::is_unspecified` + [x] `Ipv6Addr::new` + [x] `Ipv6Addr::octets` Unstable public APIs affected: + [x] `Duration::{as_millis, as_micros, as_nanos, as_float_secs}` + [x] `Wrapping::{count_ones, count_zeros, trailing_zeros, rotate_left, rotate_right, swap_bytes, reverse_bits, from_be, from_le, to_be, to_le, leading_zeros, is_positive, is_negative, leading_zeros}` + [x] `core::convert::identity` -------------------------- ## Removed from list in first pass: Stable public APIs affected: + [ ] `BTree{Map, Set}::{len, is_empty}` + [ ] `VecDeque::is_empty` + [ ] `String::{is_empty, len}` + [ ] `FromUtf8Error::utf8_error` + [ ] `Vec<T>::{is_empty, len}` + [ ] `Layout::size` + [ ] `DecodeUtf16Error::unpaired_surrogate` + [ ] `core::fmt::{fill, width, precision, sign_plus, sign_minus, alternate, sign_aware_zero_pad}` + [ ] `panic::Location::{file, line, column}` + [ ] `{ChunksExact, RChunksExact}::remainder` + [ ] `Utf8Error::valid_up_to` + [ ] `VacantEntry::key` + [ ] `NulError::nul_position` + [ ] `IntoStringError::utf8_error` + [ ] `IntoInnerError::error` + [ ] `io::Chain::get_ref` + [ ] `io::Take::{limit, get_ref}` + [ ] `SocketAddrV6::{flowinfo, scope_id}` + [ ] `PrefixComponent::{kind, as_os_str}` + [ ] `Path::{ancestors, display}` + [ ] `WaitTimeoutResult::timed_out` + [ ] `Receiver::{iter, try_iter}` + [ ] `thread::JoinHandle::thread` + [ ] `SystemTimeError::duration` Unstable public APIs affected: + [ ] `core::fmt::Arguments::new_v1` + [ ] `core::fmt::Arguments::new_v1_formatted` + [ ] `Pin::{get_ref, into_ref}` + [ ] `Utf8Lossy::chunks` + [ ] `LocalWaker::as_waker` + [ ] `panic::PanicInfo::{internal_constructor, message, location}` + [ ] `panic::Location::{internal_constructor }` ## Removed from list in 2nd pass: Stable public APIs affected: + [ ] `LinkedList::{new, iter, is_empty, len}` + [ ] `mem::forget` + [ ] `Cursor::{new, get_ref, position}` + [ ] `io::{empty, repeat, sink}` + [ ] `PoisonError::new` + [ ] `thread::Builder::new` + [ ] `process::Stdio::{piped, inherit, null}` Unstable public APIs affected: + [ ] `io::Initializer::{zeroing, should_initialize}`
2018-11-10Fix documentation typos.Bruce Mitchener-1/+1
2018-11-10make PhantomData #[structural_match].Mazdak Farrokhzad-0/+1
2018-11-10constify parts of libcore.Mazdak Farrokhzad-1/+0