Commit Graph

5557 Commits

Author SHA1 Message Date
Alex Crichton
464cdff102 std: Stabilize APIs for the 1.6 release
This commit is the standard API stabilization commit for the 1.6 release cycle.
The list of issues and APIs below have all been through their cycle-long FCP and
the libs team decisions are listed below

Stabilized APIs

* `Read::read_exact`
* `ErrorKind::UnexpectedEof` (renamed from `UnexpectedEOF`)
* libcore -- this was a bit of a nuanced stabilization, the crate itself is now
  marked as `#[stable]` and the methods appearing via traits for primitives like
  `char` and `str` are now also marked as stable. Note that the extension traits
  themeselves are marked as unstable as they're imported via the prelude. The
  `try!` macro was also moved from the standard library into libcore to have the
  same interface. Otherwise the functions all have copied stability from the
  standard library now.
* The `#![no_std]` attribute
* `fs::DirBuilder`
* `fs::DirBuilder::new`
* `fs::DirBuilder::recursive`
* `fs::DirBuilder::create`
* `os::unix::fs::DirBuilderExt`
* `os::unix::fs::DirBuilderExt::mode`
* `vec::Drain`
* `vec::Vec::drain`
* `string::Drain`
* `string::String::drain`
* `vec_deque::Drain`
* `vec_deque::VecDeque::drain`
* `collections::hash_map::Drain`
* `collections::hash_map::HashMap::drain`
* `collections::hash_set::Drain`
* `collections::hash_set::HashSet::drain`
* `collections::binary_heap::Drain`
* `collections::binary_heap::BinaryHeap::drain`
* `Vec::extend_from_slice` (renamed from `push_all`)
* `Mutex::get_mut`
* `Mutex::into_inner`
* `RwLock::get_mut`
* `RwLock::into_inner`
* `Iterator::min_by_key` (renamed from `min_by`)
* `Iterator::max_by_key` (renamed from `max_by`)

Deprecated APIs

* `ErrorKind::UnexpectedEOF` (renamed to `UnexpectedEof`)
* `OsString::from_bytes`
* `OsStr::to_cstring`
* `OsStr::to_bytes`
* `fs::walk_dir` and `fs::WalkDir`
* `path::Components::peek`
* `slice::bytes::MutableByteVector`
* `slice::bytes::copy_memory`
* `Vec::push_all` (renamed to `extend_from_slice`)
* `Duration::span`
* `IpAddr`
* `SocketAddr::ip`
* `Read::tee`
* `io::Tee`
* `Write::broadcast`
* `io::Broadcast`
* `Iterator::min_by` (renamed to `min_by_key`)
* `Iterator::max_by` (renamed to `max_by_key`)
* `net::lookup_addr`

New APIs (still unstable)

* `<[T]>::sort_by_key` (added to mirror `min_by_key`)

Closes #27585
Closes #27704
Closes #27707
Closes #27710
Closes #27711
Closes #27727
Closes #27740
Closes #27744
Closes #27799
Closes #27801
cc #27801 (doesn't close as `Chars` is still unstable)
Closes #28968
2015-12-05 15:09:44 -08:00
Tobias Bucher
6dff9d03d9 Don't use an explicit temporary for cloning an array 2015-12-04 09:16:48 +00:00
Tobias Bucher
7867de02e3 Implement Clone for arrays without using slice patterns 2015-12-04 09:16:48 +00:00
Tobias Bucher
19b9ad7444 Implement Clone for [T; 0] to [T; 32] if T: Clone 2015-12-04 09:16:22 +00:00
Ivan Stankovic
0cd923ee06 libcore/iter: fix typos 2015-11-29 14:52:29 +01:00
bors
8baaf0ad07 Auto merge of #30068 - wthrowe:unsized-pointer-impls, r=alexcrichton
I'm pretty sure this code isn't actually used by the compiler, so this
is effectively a documentation change.
2015-11-26 20:07:05 +00:00
William Throwe
7a7d481270 Mark raw pointer Send and Sync impls ?Sized
I'm pretty sure this code isn't actually used by the compiler, so this
is effectively a documentation change.
2015-11-26 00:36:09 -05:00
Vadim Petrochenkov
be8ace8cac Remove all uses of #[staged_api] 2015-11-25 21:55:26 +03:00
Steve Klabnik
05424c7051 Improve docs for std::char
Part of #29428
2015-11-25 08:22:12 -05:00
bors
040a77f772 Auto merge of #29952 - petrochenkov:depr, r=brson
Part of https://github.com/rust-lang/rust/issues/29935

The deprecation lint is still called "deprecated", so people can continue using `#[allow(deprecated)]` and similar things.
2015-11-23 20:08:49 +00:00
Manish Goregaokar
5c873be9c3 Improve slice indexing assertion 2015-11-23 09:39:46 +05:30
Manish Goregaokar
c0f9a39e5c Mark slice_error_fail as a cold path 2015-11-23 09:34:58 +05:30
Vadim Petrochenkov
a613059e3f Rename #[deprecated] to #[rustc_deprecated] 2015-11-20 16:11:20 +03:00
Devon Hollowood
da5dd298d4 Add information about str::parse() in FromStr docs 2015-11-20 00:41:10 -08:00
bors
22e31f10c2 Auto merge of #29083 - petrochenkov:stability3, r=alexcrichton
What this patch does:
- Stability annotations are now based on "exported items" supplied by rustc_privacy and not "public items". Exported items are as accessible for external crates as directly public items and should be annotated with stability attributes.
- Trait impls require annotations now.
- Reexports require annotations now.
- Crates themselves didn't require annotations, now they do.
- Exported macros are annotated now, but these annotations are not used yet.
- Some useless annotations are detected and result in errors
- Finally, some small bugs are fixed - deprecation propagates from stable deprecated parents, items in blocks are traversed correctly (fixes https://github.com/rust-lang/rust/issues/29034) + some code cleanup.
2015-11-18 19:49:33 +00:00
Andrea Canciani
64555321ce Fix typo in libcore documentation 2015-11-18 11:35:29 +01:00
bors
50b969d3b2 Auto merge of #29882 - devonhollowood:master, r=Manishearth
Implement #14615
2015-11-18 02:02:00 +00:00
Steve Klabnik
5c99fb78c6 Rollup merge of #29892 - steveklabnik:doc_fromiterator, r=alexcrichton
And modifying IntoIterator for consisntency with it.

Part of #29360
2015-11-17 18:13:06 -05:00
Steve Klabnik
cffd88110c Rollup merge of #29612 - steveklabnik:gh29502, r=alexcrichton
libcore does have a few deps, like noted in https://github.com/rust-lang/rust/issues/29390

Fixes #29502

r? @alexcrichton
2015-11-17 18:13:05 -05:00
Steve Klabnik
9d663a3e4a More docs for FromIterator
And modifying IntoIterator for consisntency with it.

Part of #29360
2015-11-17 18:12:50 -05:00
Steve Klabnik
60c84eed42 Remove claims of dependency-free libcore
libcore does have a few deps, like noted in https://github.com/rust-lang/rust/issues/29390

Fixes #29502
2015-11-17 18:04:36 -05:00
Vadim Petrochenkov
5cdfd8401b Review fixes 2015-11-18 01:24:22 +03:00
Vadim Petrochenkov
7e2ffc7090 Add missing annotations and some tests 2015-11-18 01:24:21 +03:00
Manish Goregaokar
e0adabf0ee Rollup merge of #29874 - steveklabnik:gh29711, r=alexcrichton
in their API docs

Fixes #29711
2015-11-17 15:12:14 +05:30
Devon Hollowood
07e108f038 Remove 'raw_pointer_derive' lint (#14615) 2015-11-17 01:19:14 -08:00
Steve Klabnik
e4a0b48027 Make note about traits that can be derived
in their API docs

Fixes #29711
2015-11-16 18:50:40 -05:00
Andrea Canciani
c545b33a7d Make min_value() and max_value() const functions 2015-11-16 17:47:56 +01:00
bors
c10569cac5 Auto merge of #29808 - aphistic:trait-debug-example-fix, r=steveklabnik
The example given for the manual implementation of the core::fmt::Debug trait doesn't match the output after the code sample. This updates it so it matches.
2015-11-13 22:12:51 +00:00
Erik Davidson
83c3125383 Fix the manual implementation example for the Debug trait so it matches the given output 2015-11-12 15:03:36 -06:00
bors
15e7824f1c Auto merge of #29712 - Toby-S:patch-1, r=steveklabnik
Adds `Example` sections to the rest of the integer methods.

cc @steveklabnik
2015-11-12 18:00:27 +00:00
bors
8c9c9513cf Auto merge of #29544 - Ryman:reduce_doc_warnings, r=steveklabnik
Did this alphabetically, so I didn't see [how `std` was doing things](https://dxr.mozilla.org/rust/source/src/libstd/lib.rs#215) till I was nearly finished. If you prefer to add crate-level-whitelists like std instead of test-level, I can rebase with that strategy.

A number of these commits can probably be dropped as the crates don't have much to test, and are deprecated. Let me know which if any to drop! (can also squash after review if desired)

r? @steveklabnik
2015-11-12 13:07:45 +00:00
bors
0bd708461b Auto merge of #29770 - ollie27:assert_eq_unsized, r=alexcrichton
`format_args!` doesn't support none Sized types so we should just pass it the references to `left_val` and `right_val`.

The following works:
```rust
assert!([1, 2, 3][..] == vec![1, 2, 3][..])
```
So I would expect this to as well:
```rust
assert_eq!([1, 2, 3][..], vec![1, 2, 3][..])
```
But it fails with "error: the trait `core::marker::Sized` is not implemented for the type `[_]` [E0277]"
I don't know if this change will have any nasty side effects I don't understand.
2015-11-12 10:38:48 +00:00
Kevin Butler
82784cb89d libcore: deny warnings in doctests 2015-11-12 05:16:08 +00:00
Danilo Bargen
9b5b0cd9b9 Fix article in Result.map and Result.map_err documentation 2015-11-12 00:02:56 +01:00
Kohei Hasegawa
44fd0b91fb docs: Fix variable name 2015-11-12 00:47:42 +09:00
Oliver Middleton
4879078f2e Allow none Sized types in assert_eq!
format_args! doesn't support none Sized types so we should just pass it the references to left_val and right_val.

This fixes `assert_eq!([1, 2, 3][..], vec![1, 2, 3][..])` for example.
2015-11-11 14:25:08 +00:00
Toby Scrace
5e68056b13 Add examples to methods on integer types 2015-11-10 13:19:52 +00:00
Steve Klabnik
abb9c9008f Some cleanup on after #29684
* wrap to 80 cols
* small grammar fix, missing 'the'
2015-11-10 01:39:23 +01:00
Stepan Koltsov
f6f99ce7a3 Explain that size_hint cannot be trusted
Same applies to `len()` function of `ExactSizeIterator` trait.
2015-11-08 21:27:12 +03:00
Andrew Paseltiner
e807b1f5ab Remove duplicate words from docs 2015-11-07 21:28:13 -05:00
bors
2143a9ff9a Auto merge of #29643 - petrochenkov:stability5, r=alexcrichton
Also remove `stable` stability annotations from inherent impls

(There will be a warning for useless stability annotations soon.)

r? @Gankro
2015-11-06 14:57:41 +00:00
Vadim Petrochenkov
2ef07f0519 Remove stability annotations from trait impl items
Remove `stable` stability annotations from inherent impls
2015-11-06 00:13:46 +03:00
Andrew Paseltiner
d76cdac482 Tidy core::marker doc summaries 2015-11-05 13:29:46 -05:00
bors
74185aff27 Auto merge of #29593 - ben0x539:reflect-doc-comment, r=steveklabnik
Rustdoc takes the first paragraph as a summary, so having a huge
paragraph that ends with introducing an example looked somewhat wrong on
the module page.
2015-11-05 16:29:07 +00:00
Benjamin Herr
4db95e652e docs for Reflect: blank line after first sentence
Rustdoc takes the first paragraph as a summary, so having a huge
paragraph that ends with introducing an example looked somewhat wrong on
the module page.
2015-11-05 13:37:43 +01:00
Steve Klabnik
444e8d6d01 Rollup merge of #29539 - shepmaster:empty-iterator-docs, r=Gankro 2015-11-05 12:43:02 +01:00
Jake Goulding
b0ca039233 Mention what iterator terminators do with an empty iterator 2015-11-03 08:25:56 -05:00
bors
eacd35984b Auto merge of #29459 - tshepang:simplify, r=steveklabnik 2015-11-03 08:18:45 +00:00
Florian Hartwig
4168e026b4 Stop using ok().expect() in Result docs 2015-11-01 20:41:23 +01:00
bors
a5fbb3a25f Auto merge of #29316 - GBGamer:change-unchecked-div-generic, r=eddyb
Similarly to the simd intrinsics. I believe this is a better solution than #29288, and I could implement it as well for overflowing_add/sub/mul. Also rename from udiv/sdiv to div, and same for rem.
2015-11-01 07:03:09 +00:00