Commit Graph

5245 Commits

Author SHA1 Message Date
bors a455edfa71 Auto merge of #29400 - gkoz:phantom_data, r=alexcrichton
None
2015-10-28 07:49:04 +00:00
Steve Klabnik d91785ab09 Adds tons of documentation for Iterator
This adds lots of examples, clarifies text, and just generally improves
the documentation for Iterator.
2015-10-27 12:00:10 -04:00
Gleb Kozyrev 2a53edefd7 Implement Default for PhantomData 2015-10-27 15:42:38 +02:00
bors 04475b92f9 Auto merge of #29274 - thepowersgang:issues-29107-const-unsafe-fn-order, r=nikomatsakis
This PR switches the implemented ordering from `unsafe const fn` (as was in the original RFC) to `const unsafe fn` (which is what the lang team decided on)
2015-10-26 21:23:32 +00:00
bors 2a418216fe Auto merge of #29266 - apasel422:wf, r=alexcrichton
Using these traits in an object context previously resulted in an RFC 1214 warning.
2015-10-25 18:34:29 +00:00
bors e02ada6d38 Auto merge of #29254 - alexcrichton:stabilize-1.5, r=brson
This commit stabilizes and deprecates library APIs whose FCP has closed in the
last cycle, specifically:

Stabilized APIs:

* `fs::canonicalize`
* `Path::{metadata, symlink_metadata, canonicalize, read_link, read_dir, exists,
   is_file, is_dir}` - all moved to inherent methods from the `PathExt` trait.
* `Formatter::fill`
* `Formatter::width`
* `Formatter::precision`
* `Formatter::sign_plus`
* `Formatter::sign_minus`
* `Formatter::alternate`
* `Formatter::sign_aware_zero_pad`
* `string::ParseError`
* `Utf8Error::valid_up_to`
* `Iterator::{cmp, partial_cmp, eq, ne, lt, le, gt, ge}`
* `<[T]>::split_{first,last}{,_mut}`
* `Condvar::wait_timeout` - note that `wait_timeout_ms` is not yet deprecated
  but will be once 1.5 is released.
* `str::{R,}MatchIndices`
* `str::{r,}match_indices`
* `char::from_u32_unchecked`
* `VecDeque::insert`
* `VecDeque::shrink_to_fit`
* `VecDeque::as_slices`
* `VecDeque::as_mut_slices`
* `VecDeque::swap_remove_front` - (renamed from `swap_front_remove`)
* `VecDeque::swap_remove_back` - (renamed from `swap_back_remove`)
* `Vec::resize`
* `str::slice_mut_unchecked`
* `FileTypeExt`
* `FileTypeExt::{is_block_device, is_char_device, is_fifo, is_socket}`
* `BinaryHeap::from` - `from_vec` deprecated in favor of this
* `BinaryHeap::into_vec` - plus a `Into` impl
* `BinaryHeap::into_sorted_vec`

Deprecated APIs

* `slice::ref_slice`
* `slice::mut_ref_slice`
* `iter::{range_inclusive, RangeInclusive}`
* `std::dynamic_lib`

Closes #27706
Closes #27725
cc #27726 (align not stabilized yet)
Closes #27734
Closes #27737
Closes #27742
Closes #27743
Closes #27772
Closes #27774
Closes #27777
Closes #27781
cc #27788 (a few remaining methods though)
Closes #27790
Closes #27793
Closes #27796
Closes #27810
cc #28147 (not all parts stabilized)
2015-10-25 16:38:38 +00:00
Alex Crichton ff49733274 std: Stabilize library APIs for 1.5
This commit stabilizes and deprecates library APIs whose FCP has closed in the
last cycle, specifically:

Stabilized APIs:

* `fs::canonicalize`
* `Path::{metadata, symlink_metadata, canonicalize, read_link, read_dir, exists,
   is_file, is_dir}` - all moved to inherent methods from the `PathExt` trait.
* `Formatter::fill`
* `Formatter::width`
* `Formatter::precision`
* `Formatter::sign_plus`
* `Formatter::sign_minus`
* `Formatter::alternate`
* `Formatter::sign_aware_zero_pad`
* `string::ParseError`
* `Utf8Error::valid_up_to`
* `Iterator::{cmp, partial_cmp, eq, ne, lt, le, gt, ge}`
* `<[T]>::split_{first,last}{,_mut}`
* `Condvar::wait_timeout` - note that `wait_timeout_ms` is not yet deprecated
  but will be once 1.5 is released.
* `str::{R,}MatchIndices`
* `str::{r,}match_indices`
* `char::from_u32_unchecked`
* `VecDeque::insert`
* `VecDeque::shrink_to_fit`
* `VecDeque::as_slices`
* `VecDeque::as_mut_slices`
* `VecDeque::swap_remove_front` - (renamed from `swap_front_remove`)
* `VecDeque::swap_remove_back` - (renamed from `swap_back_remove`)
* `Vec::resize`
* `str::slice_mut_unchecked`
* `FileTypeExt`
* `FileTypeExt::{is_block_device, is_char_device, is_fifo, is_socket}`
* `BinaryHeap::from` - `from_vec` deprecated in favor of this
* `BinaryHeap::into_vec` - plus a `Into` impl
* `BinaryHeap::into_sorted_vec`

Deprecated APIs

* `slice::ref_slice`
* `slice::mut_ref_slice`
* `iter::{range_inclusive, RangeInclusive}`
* `std::dynamic_lib`

Closes #27706
Closes #27725
cc #27726 (align not stabilized yet)
Closes #27734
Closes #27737
Closes #27742
Closes #27743
Closes #27772
Closes #27774
Closes #27777
Closes #27781
cc #27788 (a few remaining methods though)
Closes #27790
Closes #27793
Closes #27796
Closes #27810
cc #28147 (not all parts stabilized)
2015-10-25 09:36:32 -07:00
John Hodge f9b8c49cdb Switch to 'const unsafe fn' ordering (rust-lang/rust#29107) 2015-10-25 12:03:07 +08:00
bors 8d41c6fc0a Auto merge of #29252 - steveklabnik:safety, r=alexcrichton
Follow https://doc.rust-lang.org/book/documentation.html#special-sections
2015-10-24 06:26:50 +00:00
Andrew Paseltiner 863bb1f515 Make {Default, From, FromIterator, One, Zero} well-formed
Using these traits in an object context previously resulted in an RFC
1214 warning.
2015-10-23 21:56:23 -04:00
bors d689182e5d Auto merge of #29245 - james-darkfox:master, r=alexcrichton 2015-10-24 01:19:26 +00:00
Steve Klabnik 608cb84955 Document a bunch of std::iter traits
This adds a bunch of documentation for most of the traits in std::iter
2015-10-23 16:03:52 -04:00
James McGlashan 36ce1c06a4 Implements Default for mutable slices. Fixes: #29244 2015-10-24 05:17:35 +11:00
Steve Klabnik b17433292d Unsafety -> Safety in doc headings
Follow https://doc.rust-lang.org/book/documentation.html#special-sections
2015-10-23 11:42:14 -04:00
Andrew Paseltiner f657e134cb Remove obsolete note about UnsafeCell's fields 2015-10-21 14:17:39 -04:00
bors e99a77f9b6 Auto merge of #29108 - notriddle:master, r=alexcrichton 2015-10-21 09:28:37 +00:00
bors 3e139dc615 Auto merge of #29192 - phil-opp:unsafe-const-fns, r=alexcrichton
similar to #29085
2015-10-21 06:03:39 +00:00
Philipp Oppermann 3ed79944e8 Make Unique::new const function 2015-10-20 19:56:45 +02:00
Steve Klabnik e058318b2c Rollup merge of #29176 - huonw:shared-tracking, r=Gankro 2015-10-20 09:43:48 -04:00
bors 2e86485f7b Auto merge of #29140 - sorear:dst-document-on-sized, r=alexcrichton
This is for discoverability.  If someone wants to know what `?Sized` means, then
Sized will be the only keyword they can use to search; so even though this is
technically a language matter, it makes sense to document it where it will be
looked for.
2015-10-20 06:36:50 +00:00
Huon Wilson 94e9a073b0 Point core::ptr::Shared to tracking issue #27730. 2015-10-20 11:49:08 +11:00
Steve Klabnik 2f2d8df534 Rollup merge of #29169 - apasel422:spell, r=steveklabnik
r? @steveklabnik
2015-10-19 17:14:08 -04:00
Steve Klabnik f06e35c3ab Rollup merge of #29132 - sorear:document-ordering-relaxed, r=alexcrichton
I wasn't sure whether `Ordering::Relaxed` meant `Monotonic` or `Unordered`, so I checked the compiler sources and found https://github.com/rust-lang/rust/blob/206af38e74ce7fa4b0e781ece7f1067c018c580e/src/librustc_trans/trans/intrinsic.rs#L846 which appears conclusive.  Adding this answer to the documentation.
2015-10-19 17:14:07 -04:00
Steve Klabnik 0a47175fbb Rollup merge of #29027 - steveklabnik:iter_docs, r=manishearth
Due to the way iterators work, the std::iter module is chock full of
structs that you, humble Rust programmer, will never actually use.
However, they have URLs, and therefore get linked to, because they are
real structs that do exist.

So, rather than just have a tiny sentence about each one of them,
this patch adds links back to the functions and methods on Iterator
which actually create the structs, where helpful documentation already
exists.
2015-10-19 17:14:07 -04:00
Andrew Paseltiner 9431f3cc7b Correct spelling in docs 2015-10-19 13:48:42 -04:00
Stefan O'Rear dc61d0f093 Document DST parameters on std::marker::Sized
This is for discoverability.  If someone wants to know what ?Sized means, then
Sized will be the only keyword they can use to search; so even though this is
technically a language matter, it makes sense to document it where it will be
looked for.
2015-10-18 12:29:06 -07:00
Liigo Zhuang 6ec807c220 docs: change where clause to bound
https://github.com/rust-lang/rust/blob/master/src/libcore/iter.rs#L1541
2015-10-18 21:23:56 +08:00
Stefan O'Rear 1e68c91666 Document that Ordering::Relaxed is Monotonic 2015-10-17 17:39:31 -07:00
Michael Howell 5fd98b3d79 other should be called other, not v. 2015-10-17 07:56:38 -07:00
Andrew Paseltiner d6bd8d8491 Add Shared pointer and have {Arc, Rc} use it
This change has two consequences:

1. It makes `Arc<T>` and `Rc<T>` covariant in `T`.

2. It causes the compiler to reject code that was unsound with respect
to dropck. See compile-fail/issue-29106.rs for an example of code that
no longer compiles. Because of this, this is a [breaking-change].

Fixes #29037.
Fixes #29106.
2015-10-16 18:35:31 -04:00
Vadim Petrochenkov 128ded7110 Make NonZero::new const function 2015-10-16 00:33:45 +03:00
bors be3d390cf5 Auto merge of #29050 - rkruppe:dec2flt-lonely-sign, r=alexcrichton
Fixes #29042
2015-10-15 14:43:47 +00:00
bors 9c9615eb6f Auto merge of #29070 - Manishearth:rollup, r=Manishearth
- Successful merges: #28906, #29022, #29047, #29058, #29059, #29060, #29062, #29066, #29068
- Failed merges:
2015-10-15 09:04:34 +00:00
Manish Goregaokar d90f8f912b Rollup merge of #29022 - apasel422:spell, r=steveklabnik
r? @steveklabnik
2015-10-15 13:41:32 +05:30
bors fa9a421394 Auto merge of #28921 - petrochenkov:intconv, r=alexcrichton
Part of https://github.com/rust-lang/rfcs/pull/1218#issuecomment-146615171

r? @aturon
2015-10-15 07:11:33 +00:00
Vadim Petrochenkov 6f3e84dbe9 Implement conversion traits for primitive integer types 2015-10-15 05:23:44 +03:00
Robin Kruppe 71dcd7f70c Reject "+" and "-" when parsing floats.
Fixes #29042
2015-10-14 19:55:59 +02:00
Steve Klabnik 302de36c8f Properly link up iterator documentation
Due to the way iterators work, the std::iter module is chock full of
structs that you, humble Rust programmer, will never actually use.
However, they have URLs, and therefore get linked to, because they are
real structs that do exist.

So, rather than just have a tiny sentence about each one of them,
this patch adds links back to the functions and methods on Iterator
which actually create the structs, where helpful documentation already
exists.
2015-10-14 08:39:37 -04:00
Steve Klabnik 70c70b739f Document the free functions of std::iter
Flesh the docs out with examples.
2015-10-13 14:46:17 -04:00
Andrew Paseltiner 1162b3752c Correct spelling in docs 2015-10-13 09:44:11 -04:00
bors 8aa621a996 Auto merge of #28914 - steveklabnik:doc_iterator, r=alexcrichton
This replaces what was there with a comprehensive overview.

Thanks to @hoverbear for suggesting that these docs needed improvement.
2015-10-12 13:40:46 +00:00
Steve Klabnik 1fbf8bb664 Write better module-level docs for std::iter
This replaces what was there with a comprehensive overview.
2015-10-12 09:40:48 -04:00
bors 84ff665558 Auto merge of #28964 - eminence:docfix, r=sfackler
r? @steveklabnik
2015-10-11 14:32:45 +00:00
Ulrik Sverdrup 4dee42fe58 core: Update the safety docs for core::ptr::write
Updated to reflect that not dropping a value is safe (but discouraged).
2015-10-11 13:40:47 +02:00
Andrew Chin dce58baff0 Trivial typo fix: from_utrf8 should be from_utf8 2015-10-10 23:33:43 -04:00
Steve Klabnik ef9e542b45 Improve docs for write!/writeln! macros 2015-10-09 13:53:25 -04:00
bors d0cae14f66 Auto merge of #28900 - cristicbz:typos, r=alexcrichton
I found these automatically, but fixed them manually to ensure the semantics are correct. I know things like these are hardly important, since they only marginally improve clarity. But at least for me typos and simple grammatical errors trigger an---unjustified---sense of unprofessionalism, despite the fact that I make them all the time and I understand that they're the sort of thing that is bound to slip through review.  

Anyway, to find most of these I used:

  * `ag '.*//.*(\b[A-Za-z]{2,}\b) \1\b'` for repeated words

  * `ag '\b(the|this|those|these|a|it) (a|the|this|those|these|it)\b'` to find constructs like 'the this' etc. many false positives, but not too hard to scroll through them to actually find the mistakes.

  * `cat ../../typos.txt | paste -d'|' - - - - - - - - - - - - - - - - - - - - - - | tr '\n' '\0' | xargs -0 -P4 -n1 ag`. Hacky way to find misspellings, but it works ok. I got `typos.txt` from [Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines)

* `ag '.*//.* a ([ae][a-z]|(o[^n])|(i[a-rt-z]))'` to find places where 'a' was followed by a vowel (requiring 'an' instead).

I also used a handful more one off regexes that are too boring to reproduce here.
2015-10-08 22:40:50 +00:00
bors e38210b195 Auto merge of #28913 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #28621, #28872, #28893, #28904, #28905, #28908, #28910
- Failed merges: #28906
2015-10-08 19:05:54 +00:00
Cristi Cobzarenco 4b308b44e1 typos: fix a grabbag of typos all over the place 2015-10-08 19:49:31 +01:00
Steve Klabnik 1625c133de Rollup merge of #28910 - frewsxcv:patch-26, r=steveklabnik 2015-10-08 13:54:05 -04:00