1999 Commits

Author SHA1 Message Date
Manish Goregaokar
af05b568c0
Rollup merge of #33277 - birkenfeld:fmt-named-dollar-args, r=steveklabnik
Fix std::fmt format spec: named args are allowed with "$" syntax
2016-05-03 19:54:48 +05:30
bors
2a815a26c8 Auto merge of #33276 - bwinterton:btreeset-insert-doc-fix, r=GuillaumeGomez
Make BTreeSet::Insert docs more consistent

Made the BTreeSet::Insert documentation consistent with the HashSet::Insert documentation by using the term 'value' instead of 'key'.

r? @steveklabnik
2016-04-30 08:59:46 -07:00
bors
46504e9a9d Auto merge of #33148 - sfackler:entry-key, r=alexcrichton
Add Entry::key

This method was present on both variants of Entry, but not the enum

cc #32281

r? @alexcrichton
2016-04-29 18:11:25 -07:00
Georg Brandl
84bd1ce984 Fix std::fmt format spec: named args are allowed with "$" syntax 2016-04-29 21:17:22 +02:00
Brayden Winterton
3c1d08744d Make Btreeset::Insert docs more consistent 2016-04-29 09:59:39 -06:00
Georg Brandl
815987b4ce Clarify std::fmt width docs w.r.t. dollar syntax and give example. 2016-04-28 17:50:12 +02:00
Johannes Oertel
241a3e4689 Implement append for b-trees.
The algorithm implemented here is linear in the size of the two b-trees. It
firsts creates a `MergeIter` from the two b-trees and then builds a new b-tree
by pushing key-value pairs from the `MergeIter` into nodes at the right heights.

Three functions for stealing have been added to the implementation of `Handle` as
well as a getter for the height of a `NodeRef`.

The docs have been updated with performance information about `BTreeMap::append` and
the remark about B has been removed now that it is the same for all instances of `BTreeMap`.
2016-04-22 12:30:43 +02:00
Steven Fackler
9e167ef60a Add Entry::key
This method was present on both variants of Entry, but not the enum

cc #32281
2016-04-21 22:19:49 -07:00
bors
133f60f820 Auto merge of #32951 - LukasKalbertodt:collection_contains_rfc1552, r=brson
Add `contains` to `VecDeque` and `LinkedList` (+ tests)

This implements [RFC 1552](https://github.com/rust-lang/rfcs/blob/master/text/1552-contains-method-for-various-collections.md). Tracking issue: #32630

Sorry for the late response. This is my first contribution, so please tell me if anything isn't optimal!
2016-04-20 04:58:44 -07:00
bors
14f61c87ff Auto merge of #32866 - davidhewitt:master, r=apasel422
Implement `From<Vec<T>>` and `Into<Vec<T>>` for `VecDeque<T>`
2016-04-18 21:05:58 -07:00
David Hewitt
1861951fd9 Added From<VecDeque<T>> for Vec<T> and From<Vec<T>> for VecDeque<T> 2016-04-18 18:53:59 +01:00
bors
412e6f7e84 Auto merge of #33050 - apasel422:bh, r=alexcrichton
Implement `Clone` for `binary_heap::IntoIter`

r? @alexcrichton
2016-04-17 11:17:54 -07:00
Andrew Paseltiner
05afa68f7d
Implement Clone for binary_heap::IntoIter 2016-04-17 09:28:30 -04:00
Manish Goregaokar
e59af6c719 Rollup merge of #31441 - gereeter:btree-docs, r=bluss
Start documenting BTreeMap's node interface

cc @Gankro @apasel422
2016-04-17 17:50:33 +05:30
bors
d8d71747fe Auto merge of #32987 - xosmig:binary_heap_extension, r=apasel422
collections: add append for binary heap
2016-04-17 01:16:02 -07:00
bors
b5de94fba9 Auto merge of #32977 - alexcrichton:ignore-panics, r=brson
std: Change String::truncate to panic less

The `Vec::truncate` method does not panic if the length argument is greater than
the vector's current length, but `String::truncate` will indeed panic. This
semantic difference can be a bit jarring (e.g. #32717), and after some
discussion the libs team concluded that although this can technically be a
breaking change it is almost undoubtedly not so in practice.

This commit changes the semantics of `String::truncate` to be a noop if
`new_len` is greater than the length of the current string.

Closes #32717
2016-04-16 23:06:29 -07:00
Kamal Marhubi
1e7ec39fc3 slice: Add tracking issue for slice_binary_search_by_key 2016-04-15 19:27:03 -04:00
Andrey Tonkih
faeba73530 collections: add append and extend specialization for binary heap 2016-04-16 00:38:59 +03:00
Alex Crichton
ae79ce3f03 std: Change String::truncate to panic less
The `Vec::truncate` method does not panic if the length argument is greater than
the vector's current length, but `String::truncate` will indeed panic. This
semantic difference can be a bit jarring (e.g. #32717), and after some
discussion the libs team concluded that although this can technically be a
breaking change it is almost undoubtedly not so in practice.

This commit changes the semantics of `String::truncate` to be a noop if
`new_len` is greater than the length of the current string.

Closes #32717
2016-04-15 10:13:43 -07:00
bors
a7b5d69ba5 Auto merge of #32851 - apasel422:spec-extend, r=alexcrichton
Specialize `Extend` to `append` for `{LinkedList, Vec}`
2016-04-15 02:01:05 -07:00
bors
4091cd0c5d Auto merge of #32693 - kamalmarhubi:binary_search_by_key, r=alexcrichton
collections: Add slice::binary_search_by_key

This method adds to the family of `_by_key` methods, and is the
counterpart of `slice::sort_by_key`. It was mentioned on #30423 but
was not implemented at that time.

Refs #30423
2016-04-14 21:23:35 -07:00
Lukas Kalbertodt
bf3aefeba0 Add contains to VecDeque and LinkedList (+ tests) 2016-04-14 16:07:53 +02:00
Andrew Paseltiner
cf37af1627
Specialize Extend to append for {LinkedList, Vec} 2016-04-14 07:12:45 -04:00
Gigih Aji Ibrahim
2bf000349a fix str::split_at_mut() example 2016-04-14 03:43:29 +07:00
Kamal Marhubi
62945b6ce3 collections: Add slice::binary_search_by_key
This method adds to the family of `_by_key` methods, and is the
counterpart of `slice::sort_by_key`. It was mentioned on #30423 but
was not implemented at that time.

Refs #30423
2016-04-12 10:31:02 -04:00
Alex Crichton
552eda70d3 std: Stabilize APIs for the 1.9 release
This commit applies all stabilizations, renamings, and deprecations that the
library team has decided on for the upcoming 1.9 release. All tracking issues
have gone through a cycle-long "final comment period" and the specific APIs
stabilized/deprecated are:

Stable

* `std::panic`
* `std::panic::catch_unwind` (renamed from `recover`)
* `std::panic::resume_unwind` (renamed from `propagate`)
* `std::panic::AssertUnwindSafe` (renamed from `AssertRecoverSafe`)
* `std::panic::UnwindSafe` (renamed from `RecoverSafe`)
* `str::is_char_boundary`
* `<*const T>::as_ref`
* `<*mut T>::as_ref`
* `<*mut T>::as_mut`
* `AsciiExt::make_ascii_uppercase`
* `AsciiExt::make_ascii_lowercase`
* `char::decode_utf16`
* `char::DecodeUtf16`
* `char::DecodeUtf16Error`
* `char::DecodeUtf16Error::unpaired_surrogate`
* `BTreeSet::take`
* `BTreeSet::replace`
* `BTreeSet::get`
* `HashSet::take`
* `HashSet::replace`
* `HashSet::get`
* `OsString::with_capacity`
* `OsString::clear`
* `OsString::capacity`
* `OsString::reserve`
* `OsString::reserve_exact`
* `OsStr::is_empty`
* `OsStr::len`
* `std::os::unix::thread`
* `RawPthread`
* `JoinHandleExt`
* `JoinHandleExt::as_pthread_t`
* `JoinHandleExt::into_pthread_t`
* `HashSet::hasher`
* `HashMap::hasher`
* `CommandExt::exec`
* `File::try_clone`
* `SocketAddr::set_ip`
* `SocketAddr::set_port`
* `SocketAddrV4::set_ip`
* `SocketAddrV4::set_port`
* `SocketAddrV6::set_ip`
* `SocketAddrV6::set_port`
* `SocketAddrV6::set_flowinfo`
* `SocketAddrV6::set_scope_id`
* `<[T]>::copy_from_slice`
* `ptr::read_volatile`
* `ptr::write_volatile`
* The `#[deprecated]` attribute
* `OpenOptions::create_new`

Deprecated

* `std::raw::Slice` - use raw parts of `slice` module instead
* `std::raw::Repr` - use raw parts of `slice` module instead
* `str::char_range_at` - use slicing plus `chars()` plus `len_utf8`
* `str::char_range_at_reverse` - use slicing plus `chars().rev()` plus `len_utf8`
* `str::char_at` - use slicing plus `chars()`
* `str::char_at_reverse` - use slicing plus `chars().rev()`
* `str::slice_shift_char` - use `chars()` plus `Chars::as_str`
* `CommandExt::session_leader` - use `before_exec` instead.

Closes #27719
cc #27751 (deprecating the `Slice` bits)
Closes #27754
Closes #27780
Closes #27809
Closes #27811
Closes #27830
Closes #28050
Closes #29453
Closes #29791
Closes #29935
Closes #30014
Closes #30752
Closes #31262
cc #31398 (still need to deal with `before_exec`)
Closes #31405
Closes #31572
Closes #31755
Closes #31756
2016-04-11 08:57:53 -07:00
Guillaume Gomez
6fee337b10 Add example doc for ToOwned trait 2016-04-05 14:11:08 +02:00
Corey Farwell
2084f2ed77 Implement values_mut on BTreeMap.
https://github.com/rust-lang/rust/issues/32551
2016-04-01 18:36:08 -04:00
bors
3b342fae8e Auto merge of #32586 - seanmonstar:speialize-to-string, r=alexcrichton
specialize ToString for str

If there was some conditional compiling we could do, such that this impl only exists in nightly, and is turned off in beta/stable, I think that'd be an improvement here, as we could test specialization out without affecting stable builds.
2016-03-31 21:18:29 -07:00
Sean McArthur
fc8cf9c5af specialize ToString for str 2016-03-30 10:40:06 -07:00
Steve Klabnik
709be98804 Rollup merge of #32607 - tshepang:we-gots-intoiterator, r=apasel422
doc: no need for an explicit iter()
2016-03-30 10:16:55 -07:00
Steve Klabnik
662e7af0f9 Rollup merge of #32603 - tshepang:capitalise, r=bluss
doc: first letter should be upper case
2016-03-30 10:16:54 -07:00
Tshepang Lekhonkhobe
fd78ae860f doc: no need for an explicit iter() 2016-03-30 13:35:52 +02:00
bors
21a4d8098f Auto merge of #32438 - kamalmarhubi:intoiterator-example, r=steveklabnik
style: Use `iter` for IntoIterator parameter names

This commit standardizes the codebase on `iter` for parameters with
IntoIterator bounds.

Previously about 40% of IntoIterator parameters were named `iterable`,
with most of the rest being named `iter`. There was a single place where
it was named `iterator`.
2016-03-28 23:06:09 -07:00
Tshepang Lekhonkhobe
cc762c29f3 doc: first letter should be upper case 2016-03-29 00:56:11 +02:00
Kamal Marhubi
93569acdbe style: Use iter for IntoIterator parameter names
This commit standardizes the codebase on `iter` for parameters with
IntoIterator bounds.

Previously about 40% of IntoIterator parameters were named `iterable`,
with most of the rest being named `iter`. There was a single place where
it was named `iterator`.
2016-03-28 13:59:38 -04:00
Steve Klabnik
f2c6b51dc0 Rollup merge of #32177 - srinivasreddy:remove_integer_suffixes, r=steveklabnik
first round of removal of integer suffixes
2016-03-28 13:48:28 -04:00
Alex Crichton
48d5fe9ec5 std: Change encode_utf{8,16} to return iterators
Currently these have non-traditional APIs which take a buffer and report how
much was filled in, but they're not necessarily ergonomic to use. Returning an
iterator which *also* exposes an underlying slice shouldn't result in any
performance loss as it's just a lazy version of the same implementation, and
it's also much more ergonomic!

cc #27784
2016-03-22 10:25:30 -07:00
Stu Black
2ddba6f361 Use issue number from rust-lang/rust, not rust-lang/rfcs. 2016-03-15 23:48:15 -04:00
Stu Black
2f454be47a Expose the key of Entry variants for HashMap and BTreeMap. 2016-03-14 16:35:08 -04:00
Ulrik Sverdrup
ec39a76a3e Call str::to_owned in String::from and uninline it
String::from does not need to be inlined, it can be without it just like
str::to_owned and String::clone are.
2016-03-13 09:36:02 +01:00
Alex Crichton
b53764c73b std: Clean out deprecated APIs
Removes all unstable and deprecated APIs prior to the 1.8 release. All APIs that
are deprecated in the 1.8 release are sticking around for the rest of this
cycle.

Some notable changes are:

* The `dynamic_lib` module was moved into `rustc_back` as the compiler still
  relies on a few bits and pieces.
* The `DebugTuple` formatter now special-cases an empty struct name with only
  one field to append a trailing comma.
2016-03-12 12:31:13 -08:00
Manish Goregaokar
725d6d8d8b Rollup merge of #32137 - nathankleyn:improve-docs-for-binaryheap, r=steveklabnik
Add missing documentation examples for BinaryHeap.

As part of the ongoing effort to document all methods with examples,
this commit adds the missing examples for the `BinaryHeap` collection
type.

This is part of issue #29348.

r? @steveklabnik
2016-03-12 02:41:26 +05:30
srinivasreddy
91a42bedcf removed integer suffixes in libcollections and libcollectionstest 2016-03-11 22:10:02 +05:30
bors
aeb85a9533 Auto merge of #32133 - alexcrichton:linkchecker, r=brson
Add a link validator to rustbuild

This commit was originally targeted at just adding a link checking script to the rustbuild system. This ended up snowballing a bit to extend rustbuild to be amenable to various tools we have as part of the build system in general.

There's a new `src/tools` directory which has a number of scripts/programs that are purely intended to be used as part of the build system and CI of this repository. This is currently inhabited by rustbook, the error index generator, and a new linkchecker script added as part of this PR. I suspect that more tools like compiletest, tidy scripts, snapshot scripts, etc will migrate their way into this directory over time.

The commit which adds the error index generator shows the steps necessary to add new tools to the build system, namely:

1. New steps are defined for building the tool and running the tool
2. The dependencies are configured
3. The steps are implemented

In terms of the link checker, these commits do a few things:

* A new `src/tools/linkchecker` script is added. This will read an entire documentation tree looking for broken relative links (HTTP links aren't followed yet).
* A large number of broken links throughout the documentation were fixed. Many of these were just broken when viewed from core as opposed to std, but were easily fixed.
* A few rustdoc bugs here and there were fixed
2016-03-11 04:38:04 -08:00
Nathan Kleyn
da4fda44e7 Remove unnecessary mut in docs causing test failures. 2016-03-10 11:40:31 +00:00
Steve Klabnik
d6c4b53df1 Rollup merge of #32136 - nathankleyn:improve-docs-for-btreeset, r=steveklabnik
Add missing documentation examples for BTreeSet.

As part of the ongoing effort to document all methods with examples,
this commit adds the missing examples for the `BTreeSet` collection
type.

This is part of issue #29348.

r? @steveklabnik
2016-03-10 14:01:53 +03:00
Alex Crichton
752f2796ba collections: Fix broken doc example
PR #32135 was accidentally merged without tests passing, and unfortunately one
of the tests added was broken, so this fixes that.
2016-03-09 16:20:32 -08:00
Steve Klabnik
996f818105 Merge pull request #32135 from nathankleyn/improve-docs-for-btreemap
Add missing documentation examples for BTreeMap.
2016-03-10 01:14:40 +03:00
Nathan Kleyn
6799895b6d Add missing "basic usage" sections to docs, fix review comments. 2016-03-09 16:39:23 +00:00