about summary refs log tree commit diff
path: root/src/libcore
AgeCommit message (Collapse)AuthorLines
2017-01-04Add more docs for CoerceUnsized and UnsizeManish Goregaokar-1/+43
2017-01-03Auto merge of #38066 - bluss:string-slice-error, r=sfacklerbors-4/+22
Use more specific panic message for &str slicing errors Separate out of bounds errors from character boundary errors, and print more details for character boundary errors. It reports the first error it finds in: 1. begin out of bounds 2. end out of bounds 3. begin <= end violated 3. begin not char boundary 5. end not char boundary. Example: &"abcαβγ"[..4] thread 'str::test_slice_fail_boundary_1' panicked at 'byte index 4 is not a char boundary; it is inside 'α' (bytes 3..5) of `abcαβγ`' Fixes #38052
2017-01-04simplify Copy implementation error reportingAriel Ben-Yehuda-4/+2
Span the affected fields instead of reporting the field/variant name.
2017-01-01Auto merge of #38711 - programble:doc/slice-iter-method-links, r=brsonbors-0/+45
Add links to methods on all slice iterator struct docs In the same style as `std::slice::Iter` to help people find how to create iterators. r? @steveklabnik
2017-01-01Auto merge of #38713 - clarcharr:trusted_len, r=brsonbors-1/+7
TrustedLen for Empty and Once. These implementations were missing, so, I went ahead and added them.
2016-12-30TrustedLen for Empty and Once.Clar Charr-1/+7
2016-12-30Add links to methods on all slice iterator struct docsCurtis McEnroe-0/+45
2016-12-3040 -> 39, as ceil(log10(2^128)) == 39est31-1/+1
just as ceil(log10(2^64)) == 20
2016-12-30Fix rebase falloutest31-0/+21
2016-12-30impl Step for iu128Simonas Kazlauskas-0/+2
Also fix the leb128 tests
2016-12-30Wrapping<i128> and attempt at LLVM 3.7 compatSimonas Kazlauskas-0/+2
This commit includes manual merge conflict resolution changes from a rebase by @est31.
2016-12-30Feature gate the 128 bit typesSimonas Kazlauskas-0/+1
Dangling a carrot in front of a donkey. This commit includes manual merge conflict resolution changes from a rebase by @est31.
2016-12-30Such large. Very 128. Much bits.Simonas Kazlauskas-39/+265
This commit introduces 128-bit integers. Stage 2 builds and produces a working compiler which understands and supports 128-bit integers throughout. The general strategy used is to have rustc_i128 module which provides aliases for iu128, equal to iu64 in stage9 and iu128 later. Since nowhere in rustc we rely on large numbers being supported, this strategy is good enough to get past the first bootstrap stages to end up with a fully working 128-bit capable compiler. In order for this strategy to work, number of locations had to be changed to use associated max_value/min_value instead of MAX/MIN constants as well as the min_value (or was it max_value?) had to be changed to use xor instead of shift so both 64-bit and 128-bit based consteval works (former not necessarily producing the right results in stage1). This commit includes manual merge conflict resolution changes from a rebase by @est31.
2016-12-29Remove not(stage0) from deny(warnings)Alex Crichton-1/+1
Historically this was done to accommodate bugs in lints, but there hasn't been a bug in a lint since this feature was added which the warnings affected. Let's completely purge warnings from all our stages by denying warnings in all stages. This will also assist in tracking down `stage0` code to be removed whenever we're updating the bootstrap compiler.
2016-12-29Rollup merge of #38693 - lucis-fluxum:partialord-typo-fix, r=steveklabnikAlex Crichton-1/+1
Fix typo in PartialOrd docs
2016-12-29Rollup merge of #38674 - GuillaumeGomez:atomic_fn_docs, r=frewsxcvAlex Crichton-8/+15
Add missing urls for atomic fn docs r? @frewsxcv
2016-12-29Rollup merge of #38649 - GuillaumeGomez:atomicint_docs, r=frewsxcvAlex Crichton-17/+36
Add missing urls for atomic_int macros types r? @frewsxcv
2016-12-29Rollup merge of #38635 - GuillaumeGomez:atomicptr_docs, r=frewsxcvAlex Crichton-14/+37
Add missing urls for AtomicPtr r? @frewsxcv
2016-12-29Rollup merge of #38611 - GuillaumeGomez:atomicbool_docs, r=frewsxcvAlex Crichton-13/+35
Add missing urls in AtomicBool docs r? @frewsxcv
2016-12-29Fix typo in PartialOrd docsLuc Street-1/+1
2016-12-29Fallout from updating bootstrap CargoAlex Crichton-3/+4
2016-12-29Add missing urls for atomic fn docsGuillaume Gomez-8/+15
2016-12-28Add missing urls for AtomicPtrGuillaume Gomez-14/+37
2016-12-28Add missing urls for atomic_int macros typesGuillaume Gomez-17/+36
2016-12-27Clarify Extend behaviour wrt existing keysSebastian Hahn-1/+2
2016-12-26Add missing urls in AtomicBool docsGuillaume Gomez-13/+35
2016-12-20Rollup merge of #38158 - sourcefrog:doc-iter, r=GuillaumeGomezAlex Crichton-3/+26
Explain meaning of Result iters and link to factory functions
2016-12-20Rollup merge of #37761 - christophebiocca:borrow-stdlib-fn-refactor, ↵Alex Crichton-9/+13
r=alexcrichton Use Borrow for binary_search and contains methods in the standard library Fixes all standard library methods in #32822 that can be fixed without backwards compatibility issues.
2016-12-19Allow `writeln!` without arguments, in symmetry with `println!`Tobias Bucher-1/+5
2016-12-19Rollup merge of #38334 - frewsxcv:BuildHasherDefault, r=GuillaumeGomezSeo Sanghyeon-3/+37
Rewrite, improve documentation for `core::hash::BuildHasherDefault`. Fixes https://github.com/rust-lang/rust/issues/31242.
2016-12-16Address falloutAaron Turon-7/+7
2016-12-16Rewrite, improve documentation for `core::hash::BuildHasherDefault`.Corey Farwell-3/+37
Fixes https://github.com/rust-lang/rust/issues/31242.
2016-12-15Deprecate std::cell::RefCell::borrow_stateAaron Turon-0/+2
2016-12-15Stabilize std::cell::Ref::cloneAaron Turon-3/+1
2016-12-15Stabilize std::char::{encode_utf8, encode_utf16}Aaron Turon-2/+2
2016-12-15Stabilize std::sync::atomic::Atomic*::{get_mut, into_inner}Aaron Turon-12/+6
2016-12-15Stabilize Iterator::{min_by, max_by}Aaron Turon-2/+2
2016-12-15Clarify zero-value behavior of `ctlz`/`cttz` intrinsics.Corey Farwell-2/+50
Fixes https://github.com/rust-lang/rust/issues/34381.
2016-12-13doc: Explain meaning of Result iters and link to factory functions.Martin Pool-3/+26
2016-12-13Auto merge of #38309 - sfackler:rfc-1725, r=alexcrichtonbors-0/+83
Implement RFC #1725 (read_unaligned, write_unaligned) cc #37955 r? @alexcrichton
2016-12-12Implement RFC #1725Steven Fackler-0/+83
cc #37955
2016-12-12Auto merge of #38049 - frewsxcv:libunicode, r=alexcrichtonbors-1/+1
Rename 'librustc_unicode' crate to 'libstd_unicode'. Fixes https://github.com/rust-lang/rust/issues/26554.
2016-12-07Auto merge of #38149 - bluss:is-empty, r=alexcrichtonbors-1/+13
Forward more ExactSizeIterator methods and `is_empty` edits - Forward ExactSizeIterator methods in more places, like `&mut I` and `Box<I>` iterator impls. - Improve `VecDeque::is_empty` itself (see commit 4) - All the collections iterators now have `len` or `is_empty` forwarded if doing so is a benefit. In the remaining cases, they already use a simple size hint (using something like a stored `usize` value), which is sufficient for the default implementation of len and is_empty.
2016-12-07Auto merge of #38134 - bluss:iter-nth, r=aturonbors-1/+4
Remove Self: Sized from Iterator::nth It is an unnecessary restriction; nth neither needs self to be sized nor needs to be exempted from the trait object. It increases the utility of the nth method, because type specific implementations are available through `&mut I` or through an iterator trait object. It is a backwards compatible change due to the special cases of the `where Self: Sized` bound; it was already optional to include this bound in `Iterator` implementations.
2016-12-04iter: Forward ExactSizeIterator methods for &mut IUlrik Sverdrup-1/+8
2016-12-04core: Forward ExactSizeIterator::is_empty for BytesUlrik Sverdrup-0/+5
2016-12-03Rollup merge of #38090 - GuillaumeGomez:option_doc, r=frewsxcvCorey Farwell-0/+10
Add cloned example for Option r? @frewsxcv
2016-12-02core: Remove Self: Sized from Iterator::nthUlrik Sverdrup-1/+4
It is an unnecessary restriction; nth neither needs self to be sized nor needs to be exempted from the trait object. It increases the utility of the nth method, because type specific implementations are available through `&mut I` or through an iterator trait object. It is a backwards compatible change due to the special cases of the `where Self: Sized` bound; it was already optional to include this bound in `Iterator` implementations.
2016-11-30Auto merge of #38047 - canndrew:fmt-void-non-empty, r=blussbors-1/+3
Make core::fmt::Void a non-empty type. Adding back this change that was removed from PR #36449 because it's a fix and because I immediately hit a problem with it again when I started implementing my fix for #12609.
2016-11-30Update the bootstrap compilerAlex Crichton-1/+0
Now that we've got a beta build, let's use it!