Commit graph

2409 commits

Author SHA1 Message Date
projektir
ed7b6c3724 Minor nits in primitive str 2017-04-12 00:10:36 -04:00
Oliver Middleton
b4be475836 Fix Markdown issues in the docs
* Since the switch to pulldown-cmark reference links need a blank line
before the URLs.
* Reference link references are not case sensitive.
* Doc comments need to be indented uniformly otherwise rustdoc gets
confused.
2017-04-06 12:57:40 +01:00
Corey Farwell
e4a62109c9 Rollup merge of #41037 - stjepang:move-libxtest, r=alexcrichton
Move libXtest into libX/tests

This change moves:

1. `libcoretest` into `libcore/tests`
2. `libcollectionstest` into `libcollections/tests`

This is a follow-up to #39561.

r? @alexcrichton
2017-04-05 23:51:42 -04:00
Ariel Ben-Yehuda
d8b61091f6 Rollup merge of #41065 - jorendorff:slice-rsplit-41020, r=alexcrichton
[T]::rsplit() and rsplit_mut(), #41020
2017-04-05 23:01:13 +00:00
Ariel Ben-Yehuda
9d074473da Rollup merge of #40943 - Amanieu:offset_to, r=alexcrichton
Add ptr::offset_to

This PR adds a method to calculate the signed distance (in number of elements) between two pointers. The resulting value can then be passed to `offset` to get one pointer from the other. This is similar to pointer subtraction in C/C++.

There are 2 special cases:

- If the distance is not a multiple of the element size then the result is rounded towards zero. (in C/C++ this is UB)
-  ZST return `None`, while normal types return `Some(isize)`. This forces the user to handle the ZST case in unsafe code. (C/C++ doesn't have ZSTs)
2017-04-05 23:01:08 +00:00
Ariel Ben-Yehuda
1fdcb7958b Rollup merge of #40909 - nagisa:fix-vec-placement, r=alexcrichton
Allow using Vec::<T>::place_back for T: !Clone

The place_back was likely put into block with `T: Clone` bound by mistake.
2017-04-05 23:01:06 +00:00
Corey Farwell
f56b46c0ee Rollup merge of #41066 - steveklabnik:fix-links, r=frewsxcv
Fix links

part of https://github.com/rust-lang/rust/issues/40912

[]\n() is not actually a link.

r? @frewsxcv @GuillaumeGomez
2017-04-05 12:44:38 -04:00
Corey Farwell
5935fe47a9 Rollup merge of #41019 - mandeep:fix-vec-swapremove-docs, r=BurntSushi
Fixed typo in doc comments for swap_remove

While reading the Vec docs, I came across the docs for swap_remove. I believe there is a typo in the comment and ```return``` should be ```returns```. This PR fixes this issue.

I also feel that the entire doc comment is a bit of a run-on and could be changed to something along the lines of ```Removes an element from anywhere in the vector and returns it. The vector is mutated and the removed element is replaced by the last element of the vector. ```

Thoughts?
2017-04-05 12:44:33 -04:00
Corey Farwell
7412f701e8 Rollup merge of #40949 - stjepang:fix-vecdeque-docs, r=frewsxcv
Improve some docs for VecDeque

r? @GuillaumeGomez
2017-04-05 12:44:25 -04:00
steveklabnik
086627ecd2 Fix links
part of https://github.com/rust-lang/rust/issues/40912

[]\n() is not actually a link.
2017-04-04 15:39:44 -04:00
Jason Orendorff
2e3f0d8451 add [T]::rsplit() and rsplit_mut() #41020 2017-04-04 13:40:26 -05:00
mandeep
5787808d07 Removed trailing whitespace on line 682 2017-04-03 15:48:12 -05:00
Stjepan Glavina
13c744f30d Move libXtest into libX/tests
This change moves:

1. `libcoretest` into `libcore/tests`
2. `libcollectionstest` into `libcollections/tests`

This is a follow-up to #39561.
2017-04-03 20:49:39 +02:00
mandeep
f74ca38686 Refactored swap_remove doc comment upon discussing with BurntSushi and steveklabnik 2017-04-03 09:51:34 -05:00
Amanieu d'Antras
7b89bd7cca Add ptr::offset_to 2017-04-03 01:36:56 +01:00
mandeep
255d9191a9 Fixed typo in doc comments for swap_remove 2017-04-02 11:21:05 -05:00
Stjepan Glavina
1e2a61d4a6 Change wording for push_front 2017-04-01 02:47:41 +02:00
Corey Farwell
c9a9d7acaf Rollup merge of #40935 - donniebishop:str_boilerplate_docs, r=steveklabnik
Modify str Structs descriptions

References #29375. Modified descriptions of multiple structs to be more in line with structs found under [`std::iter`](https://doc.rust-lang.org/std/iter/#structs), such as [`Chain`](https://doc.rust-lang.org/std/iter/struct.Chain.html) and [`Enumerate`](https://doc.rust-lang.org/std/iter/struct.Enumerate.html)
2017-03-31 16:48:28 -04:00
Stjepan Glavina
d7b3f053d0 Improve some docs for VecDeque 2017-03-31 17:12:47 +02:00
bors
a9329d3aa3 Auto merge of #40737 - nagisa:safe-slicing-strs, r=BurntSushi
Checked slicing for strings

cc https://github.com/rust-lang/rust/issues/39932
2017-03-31 11:13:20 +00:00
Donnie Bishop
3b396217b5 Remove parentheses in method references 2017-03-30 18:33:23 -04:00
Donnie Bishop
5d14ccbc96 Modify EncodeUtf16's description 2017-03-30 16:35:19 -04:00
Simonas Kazlauskas
1e3bc5ac4f Allow using Vec::<T>::place_back for T: !Clone
The place_back was likely put into block with `T: Clone` bound by mistake.
2017-03-29 23:01:34 +03:00
Corey Farwell
8ae1d444cb Rollup merge of #40731 - sfackler:vec-from-iter-spec, r=aturon
Specialize Vec::from_iter for vec::IntoIter

It's fairly common to expose an API which takes an `IntoIterator` and
immediately collects that into a vector. It's also common to buffer
a bunch of items into a vector and then pass that into one of these
APIs. If the iterator hasn't been advanced, we can make this `from_iter`
simply reassemble the original `Vec` with no actual iteration or
reallocation.

r? @aturon
2017-03-28 23:19:23 -04:00
Corey Farwell
378d230dd4 Rollup merge of #40682 - TigleyM:str_doc, r=steveklabnik
Update docs for std::str

fixes #29375

I noticed there are docs for the `str` primitive type, which contained extensive examples, so my additions give a more general explanation of `&str`. But please let me know if something can be explained more or changed.

r? @steveklabnik
2017-03-28 23:19:22 -04:00
Micah Tigley
da74e865b5 Review request changes 2017-03-27 16:14:13 -06:00
Oliver Schneider
eb447f4ef4
Fix various useless derefs and slicings 2017-03-27 08:58:00 +02:00
Corey Farwell
eb6f09ce24 Rollup merge of #40790 - stepancheg:btreemap-drop, r=alexcrichton
Unnecessary iteration in BTreeMap::drop

`IntoIter::drop` already iterates.
2017-03-24 18:13:14 -05:00
Stepan Koltsov
f97b3f08cd Unnecessary iteration in BTreeMap::drop
`IntoIter::drop` already iterates.
2017-03-24 06:18:23 +03:00
Stjepan Glavina
49c408e679 Fix markdown links to pdqsort 2017-03-23 12:20:13 +01:00
Stjepan Glavina
b7a3d46efa Add 'the' before 'start'/'end' 2017-03-22 18:42:42 +01:00
Simonas Kazlauskas
99e4c0ad8b Tracking issue numbers 2017-03-22 18:43:01 +02:00
Simonas Kazlauskas
2f0dd63bbe Checked (and unchecked) slicing for strings?
What is this magic‽
2017-03-22 18:43:01 +02:00
Stjepan Glavina
d6da1d9b46 Various fixes to wording consistency in the docs 2017-03-22 17:19:52 +01:00
Steven Fackler
dae66e000a Specialize Vec::from_iter for vec::IntoIter
It's fairly common to expose an API which takes an `IntoIterator` and
immediately collects that into a vector. It's also common to buffer
a bunch of items into a vector and then pass that into one of these
APIs. If the iterator hasn't been advanced, we can make this `from_iter`
simply reassemble the original `Vec` with no actual iteration or
reallocation.
2017-03-22 08:55:17 +00:00
Stjepan Glavina
c4454a5507 Tweak the constants a bit 2017-03-21 20:46:20 +01:00
Stjepan Glavina
f0e5868627 Fix a doctest 2017-03-21 20:46:20 +01:00
Stjepan Glavina
e365974750 Address Alex's PR comments 2017-03-21 20:46:20 +01:00
Stjepan Glavina
f1913e2a30 Implement feature sort_unstable 2017-03-21 20:46:20 +01:00
Micah Tigley
f628117529 Fix Rust linting error 2017-03-20 20:20:12 -06:00
Micah Tigley
63652726c3 Move str docs to proper place in file. 2017-03-20 15:21:28 -06:00
Micah Tigley
67867c6635 Update docs for std::str 2017-03-20 13:11:58 -06:00
Corey Farwell
e5221f9397 Rollup merge of #40241 - Sawyer47:fix-39997, r=alexcrichton
Change how the `0` flag works in format!

Now it always implies right-alignment, so that padding zeroes are placed after the sign (if any) and before the digits. In other words, it always takes precedence over explicitly specified `[[fill]align]`. This also affects the '#' flag: zeroes are placed after the prefix (0b, 0o, 0x) and before the digits.

Here's a short summary of how similar format strings work in Python and Rust:

```
              :05     :<05    :>05    :^05
Python 3.6  |-0001| |-1000| |000-1| |0-100|
Rust before |-0001| |-1000| |-0001| |-0100|
Rust after  |-0001| |-0001| |-0001| |-0001|

             :#05x   :<#05x  :>#05x  :^#05x
Python 3.6  |0x001| |0x100| |000x1| |00x10|
Rust before |0x001| |0x100| |000x1| |0x010|
Rust after  |0x001| |0x001| |0x001| |0x001|
```

Fixes #39997 [breaking-change]
2017-03-19 20:51:06 -04:00
Corey Farwell
35cf2f96ce Rollup merge of #40646 - russmack:issue-40435-mention-none, r=frewsxcv
Add mention of None as possible return. Closes #40435.

This commit adds a small mention to some methods that None is returned when the slice is empty.
2017-03-19 10:18:23 -04:00
Corey Farwell
969e625a19 Rollup merge of #40603 - QuietMisdreavus:slice-ptr-docs, r=GuillaumeGomez
minor wording tweak to slice::{as_ptr, as_mut_ptr}

Per #37334, the slice-as-pointer methods mentioned that "modifying the slice may cause its buffer to be reallocated", when in fact modifying the *slice* itself would cause no such change. (It is a borrow, after all!) This is a tweak to the wording of that line to stress it's the *collection* that could cause the buffer to be reallocated.

r? @steveklabnik
2017-03-19 10:18:19 -04:00
Russell Mackenzie
b77d31ac61 Add mention of None as possible return. Closes #40435. 2017-03-19 01:41:44 +00:00
Alex Crichton
1241a88fa9 Minor fixups to fix tidy errors 2017-03-17 13:28:53 -07:00
Aaron Turon
a8f4a1bd98 Stabilize rc_raw feature, closes #37197 2017-03-17 13:28:53 -07:00
Aaron Turon
37b38a2f75 Stabilize btree_range, closes #27787 2017-03-17 13:28:37 -07:00
QuietMisdreavus
963d4dfdde minor wording tweak to slice::{as_ptr, as_mut_ptr} 2017-03-17 12:24:44 -05:00