summary refs log tree commit diff
path: root/src/libstd
AgeCommit message (Collapse)AuthorLines
2016-01-26Auto merge of #31081 - alexcrichton:stabilize-hasher, r=aturonbors-122/+129
This commit implements the stabilization of the custom hasher support intended for 1.7 but left out due to some last-minute questions that needed some decisions. A summary of the actions done in this PR are: Stable * `std::hash::BuildHasher` * `BuildHasher::Hasher` * `BuildHasher::build_hasher` * `std::hash::BuildHasherDefault` * `HashMap::with_hasher` * `HashMap::with_capacity_and_hasher` * `HashSet::with_hasher` * `HashSet::with_capacity_and_hasher` * `std::collections::hash_map::RandomState` * `RandomState::new` Deprecated * `std::collections::hash_state` * `std::collections::hash_state::HashState` - this trait was also moved into `std::hash` with a reexport here to ensure that we can have a blanket impl to prevent immediate breakage on nightly. Note that this is unstable in both location. * `HashMap::with_hash_state` - renamed * `HashMap::with_capacity_and_hash_state` - renamed * `HashSet::with_hash_state` - renamed * `HashSet::with_capacity_and_hash_state` - renamed Closes #27713
2016-01-26Fix warnings during testsAlex Crichton-110/+128
The deny(warnings) attribute is now enabled for tests so we need to weed out these warnings as well.
2016-01-26Auto merge of #30402 - jooert:prettypanic, r=alexcrichtonbors-0/+5
This splits the output of panics into two lines as proposed in #15239 and adds a note about how to get a backtrace. Because the default panic message consists of multiple lines now, this changes the test runner's failure output to not indent the first line anymore. Fixes #15239 and fixes #11704.
2016-01-26std: Stabilize custom hasher support in HashMapAlex Crichton-122/+129
This commit implements the stabilization of the custom hasher support intended for 1.7 but left out due to some last-minute questions that needed some decisions. A summary of the actions done in this PR are: Stable * `std::hash::BuildHasher` * `BuildHasher::Hasher` * `BuildHasher::build_hasher` * `std::hash::BuildHasherDefault` * `HashMap::with_hasher` * `HashMap::with_capacity_and_hasher` * `HashSet::with_hasher` * `HashSet::with_capacity_and_hasher` * `std::collections::hash_map::RandomState` * `RandomState::new` Deprecated * `std::collections::hash_state` * `std::collections::hash_state::HashState` - this trait was also moved into `std::hash` with a reexport here to ensure that we can have a blanket impl to prevent immediate breakage on nightly. Note that this is unstable in both location. * `HashMap::with_hash_state` - renamed * `HashMap::with_capacity_and_hash_state` - renamed * `HashSet::with_hash_state` - renamed * `HashSet::with_capacity_and_hash_state` - renamed Closes #27713
2016-01-26Add message about RUST_BACKTRACE to default output of panic!Johannes Oertel-0/+5
The note will only be shown on the first panic.
2016-01-25std: Fix some behavior without stdio handlesAlex Crichton-4/+9
On all platforms, reading from stdin where the actual stdin isn't present should return 0 bytes as having been read rather than the entire buffer. On Windows, handle the case where we're inheriting stdio handles but one of them isn't present. Currently the behavior is to fail returning an I/O error but instead this commit corrects it to detecting this situation and propagating the non-set handle. Closes #31167
2016-01-24mk: Move from `-D warnings` to `#![deny(warnings)]`Alex Crichton-0/+1
This commit removes the `-D warnings` flag being passed through the makefiles to all crates to instead be a crate attribute. We want these attributes always applied for all our standard builds, and this is more amenable to Cargo-based builds as well. Note that all `deny(warnings)` attributes are gated with a `cfg(stage0)` attribute currently to match the same semantics we have today
2016-01-24Add section about memory safety to `ffi::CString` documentationDirk Gadsden-3/+15
Also a minor language tweak to the documentation of the `ffi::CString::from_raw` function.
2016-01-24Auto merge of #31166 - geofft:process-comments, r=alexcrichtonbors-9/+6
The implementation changed in 33a2191d, but the comments did not change to match. r? @alexcrichton
2016-01-24Auto merge of #31093 - tshepang:misc-doc-improvements, r=steveklabnikbors-5/+5
2016-01-24sys/unix/process.rs: Update comments in make_argv and make_envpGeoffrey Thomas-9/+6
The implementation changed in 33a2191d, but the comments did not change to match.
2016-01-24doc: miscellaneous OpenOptions:append improvementsTshepang Lekhonkhobe-5/+5
2016-01-23Rollup merge of #31146 - angelsl:patch-1, r=steveklabnikSteve Klabnik-1/+1
2016-01-23Rollup merge of #31090 - tshepang:improve-sentence, r=brsonSteve Klabnik-2/+2
2016-01-23Rollup merge of #31088 - tshepang:grammar, r=brsonSteve Klabnik-1/+1
2016-01-23Rollup merge of #31035 - nathankleyn:improve-visibility-of-entry-api, ↵Steve Klabnik-0/+29
r=steveklabnik Responding to [a thread of discussion on the Rust subreddit](https://www.reddit.com/r/rust/comments/3racik/mutable_lifetimes_are_too_long_when_matching_an/), it was identified that the presence of the Entry API is not duly publicised. This commit aims to add some reasonable examples of common usages of this API to the main example secion of the `HashMap` documentation. This is part of issue #29348.
2016-01-23Rollup merge of #31019 - andreabedini:patch-1, r=alexcrichtonSteve Klabnik-3/+1
Documentation of `CStr::from_ptr` suggests using `str::from_utf8(slice.to_bytes()).unwrap()` to obtain a `&str` but `CStr` has `CStr::to_str` that does exactly that. (First PR, be nice :)
2016-01-23Semaphore not sempahoreangelsl-1/+1
2016-01-23Impl Error for Box<T: Error>Guillaume Gomez-0/+11
2016-01-22Simplify return for error::Error impl for string::ParseErrorDirk Gadsden-1/+1
2016-01-22Implement error::Error and fmt::Display for string::ParseErrorDirk Gadsden-0/+7
Fixes #31106.
2016-01-22Auto merge of #31070 - sfackler:bufreader-box-slice, r=alexcrichtonbors-2/+2
Saves a word, and also prevents the impl from accidentally changing the buffer length. r? @alexcrichton
2016-01-22Auto merge of #31068 - sfackler:bufwriter-panic, r=alexcrichtonbors-3/+40
We don't want to write the same data twice. Closes #30888 r? @alexcrichton
2016-01-21doc: this sentence did not read wellTshepang Lekhonkhobe-2/+2
2016-01-21doc: improve grammarTshepang Lekhonkhobe-1/+1
2016-01-21Auto merge of #31057 - bluss:memrchr-fallback, r=alexcrichtonbors-1/+1
Use the fallback impl for memrchr on non-linux The memrchr code was never used(!). This brings the memrchr improvements to non-linux platforms (LineWriter / buffered stdout benefits). Previous PR #30381
2016-01-20Use a Box<[u8]> in BufReaderSteven Fackler-2/+2
Saves a word, and also prevents the impl from accidentally changing the buffer length.
2016-01-20Don't flush in BufWriter destructor after a panic in writeSteven Fackler-3/+40
We don't want to write the same data twice. Closes #30888
2016-01-20Auto merge of #30872 - pitdicker:expand_open_options, r=alexcrichtonbors-177/+480
Tracking issue: #30014 This implements the RFC and makes a few other changes. I have added a few extra tests, and made the Windows and Unix code as similar as possible. Part of the RFC mentions the unstable OpenOptionsExt trait on Windows (see #27720). I have added a few extra methods to future-proof it for CreateFile2.
2016-01-20std: Use the fallback impl for memrchr on non-linuxUlrik Sverdrup-1/+1
This code was never used(!). This brings the memrchr improvements to non-linux platforms (LineWriter / buffered stdout benefits).
2016-01-20Remove raw pointer from OpenOptions structPaul Dicker-3/+9
Otherwise it is not Send and Sync anymore
2016-01-20Auto merge of #30894 - antrik:debug-mpsc, r=brsonbors-0/+69
Minimal fix for https://github.com/rust-lang/rust/issues/30563 This covers all the public structs I think; except for Iter and IntoIter, which I don't know if or how they should be handled.
2016-01-20Remove leftover import of `std::str` in doc testAndrea Bedini-1/+0
2016-01-19Add examples of the Entry API to the HashMap documentation.Nathan Kleyn-0/+29
Responding to [a thread of discussion on the Rust subreddit](https://www.reddit.com/r/rust/comments/3racik/mutable_lifetimes_are_too_long_when_matching_an/), it was identified that the presence of the Entry API is not duly publicised. This commit aims to add some reasonable examples of common usages of this API to the main example secion of the `HashMap` documentation. This is part of issue #29348.
2016-01-19Improve CStr::from_ptr example in docsAndrea Bedini-2/+1
Documentation of `CStr::from_ptr` suggests using `str::from_utf8(slice.to_bytes()).unwrap()` to obtain a `&str` but `CStr` has `CStr::to_str` that does exactly that.
2016-01-19Use different numbers of `#`s when expanding documentation commentsBarosl Lee-0/+3
Any documentation comments that contain raw-string-looking sequences may pretty-print invalid code when expanding them, as the current logic always uses the `r"literal"` form, without appending any `#`s. This commit calculates the minimum number of `#`s required to wrap a comment correctly and appends `#`s appropriately. Fixes #27489.
2016-01-18Auto merge of #30973 - SimonSapin:patch-16, r=alexcrichtonbors-4/+4
I don’t understand what the "flow information" of an IPv6 address is, but it looks separate from the scope ID. This was probably a copy/paste error.
2016-01-17Rollup merge of #30957 - GuillaumeGomez:patch-3, r=apasel422Manish Goregaokar-1/+1
r? @Manishearth
2016-01-17Fix SocketAddrV6::flowinfo docsSimon Sapin-4/+4
I don’t understand what the "flow information" of an IPv6 address is, but it looks separate from the scope ID. This was probably a copy/paste error.
2016-01-16std: Stabilize APIs for the 1.7 releaseAlex Crichton-38/+137
This commit stabilizes and deprecates the FCP (final comment period) APIs for the upcoming 1.7 beta release. The specific APIs which changed were: Stabilized * `Path::strip_prefix` (renamed from `relative_from`) * `path::StripPrefixError` (new error type returned from `strip_prefix`) * `Ipv4Addr::is_loopback` * `Ipv4Addr::is_private` * `Ipv4Addr::is_link_local` * `Ipv4Addr::is_multicast` * `Ipv4Addr::is_broadcast` * `Ipv4Addr::is_documentation` * `Ipv6Addr::is_unspecified` * `Ipv6Addr::is_loopback` * `Ipv6Addr::is_unique_local` * `Ipv6Addr::is_multicast` * `Vec::as_slice` * `Vec::as_mut_slice` * `String::as_str` * `String::as_mut_str` * `<[T]>::clone_from_slice` - the `usize` return value is removed * `<[T]>::sort_by_key` * `i32::checked_rem` (and other signed types) * `i32::checked_neg` (and other signed types) * `i32::checked_shl` (and other signed types) * `i32::checked_shr` (and other signed types) * `i32::saturating_mul` (and other signed types) * `i32::overflowing_add` (and other signed types) * `i32::overflowing_sub` (and other signed types) * `i32::overflowing_mul` (and other signed types) * `i32::overflowing_div` (and other signed types) * `i32::overflowing_rem` (and other signed types) * `i32::overflowing_neg` (and other signed types) * `i32::overflowing_shl` (and other signed types) * `i32::overflowing_shr` (and other signed types) * `u32::checked_rem` (and other unsigned types) * `u32::checked_neg` (and other unsigned types) * `u32::checked_shl` (and other unsigned types) * `u32::saturating_mul` (and other unsigned types) * `u32::overflowing_add` (and other unsigned types) * `u32::overflowing_sub` (and other unsigned types) * `u32::overflowing_mul` (and other unsigned types) * `u32::overflowing_div` (and other unsigned types) * `u32::overflowing_rem` (and other unsigned types) * `u32::overflowing_neg` (and other unsigned types) * `u32::overflowing_shl` (and other unsigned types) * `u32::overflowing_shr` (and other unsigned types) * `ffi::IntoStringError` * `CString::into_string` * `CString::into_bytes` * `CString::into_bytes_with_nul` * `From<CString> for Vec<u8>` * `From<CString> for Vec<u8>` * `IntoStringError::into_cstring` * `IntoStringError::utf8_error` * `Error for IntoStringError` Deprecated * `Path::relative_from` - renamed to `strip_prefix` * `Path::prefix` - use `components().next()` instead * `os::unix::fs` constants - moved to the `libc` crate * `fmt::{radix, Radix, RadixFmt}` - not used enough to stabilize * `IntoCow` - conflicts with `Into` and may come back later * `i32::{BITS, BYTES}` (and other integers) - not pulling their weight * `DebugTuple::formatter` - will be removed * `sync::Semaphore` - not used enough and confused with system semaphores Closes #23284 cc #27709 (still lots more methods though) Closes #27712 Closes #27722 Closes #27728 Closes #27735 Closes #27729 Closes #27755 Closes #27782 Closes #27798
2016-01-16Fix typoGuillaume Gomez-1/+1
2016-01-15Addressed commentsPaul Dicker-60/+75
2016-01-15Auto merge of #30898 - petrochenkov:tvarfstab, r=alexcrichtonbors-19/+31
This wasn't done in https://github.com/rust-lang/rust/pull/29083 because attributes weren't parsed on fields of tuple variant back then. r? @alexcrichton
2016-01-15Rollup merge of #30925 - semarie:blksize_t, r=alexcrichtonManish Goregaokar-1/+1
make `os::raw::tests::unix` test to pass again r? @alexcrichton
2016-01-15Rollup merge of #30776 - antonblanchard:powerpc64_merge, r=alexcrichtonManish Goregaokar-9/+40
This adds support for big endian and little endian PowerPC64. make check runs clean apart from one big endian backtrace issue.
2016-01-15Rollup merge of #30591 - SimonSapin:patch-15, r=aturonManish Goregaokar-2/+3
The first line (paragraph?) of a doc-comment is what rustdoc shows when listing items of a module. What makes `Instant` and `SystemTime` different is important enough to be there. (Though feel free to bikeshed the wording.)
2016-01-14update blksize_t in raw to reflect libc change under openbsdSébastien Marie-1/+1
2016-01-14Fix doctestsPaul Dicker-3/+6
2016-01-14Fix outdated commenttomaka-1/+1
2016-01-14Require stability annotations on fields of tuple variantsVadim Petrochenkov-19/+31