Commit graph

10807 commits

Author SHA1 Message Date
Ralf Jung
23522f6cab need to pick a new feature name 2017-04-29 19:15:59 +02:00
Ralf Jung
998a877737 MutexGuard<T> may be Sync only if T is Sync
Also remove some unnecessary unsafe impl from the tests.
2017-04-29 09:44:09 +02:00
Corey Farwell
095936c209 Rollup merge of #41526 - steveklabnik:gh35950, r=GuillaumeGomez
Clean up TcpStream example

Fixes #35950
2017-04-27 19:59:15 -04:00
Corey Farwell
35227db6e6 Rollup merge of #41438 - projektir:mpsc_docs, r=steveklabnik
Adding links and examples for various mspc pages #29377

Adding links and copying examples for the various Iterators; adding some extra stuff to `Sender`/`SyncSender`/`Receiver`.
2017-04-27 19:59:13 -04:00
projektir
c59b188aae Adding links and examples for various mspc pages #29377 2017-04-26 23:11:57 -04:00
Ariel Ben-Yehuda
84f6e017d6 Rollup merge of #41499 - steveklabnik:gh25164, r=alexcrichton
Address platform-specific behavior in TcpStream::shutdown

Fixes #25164

r? @rust-lang/libs from the GitHub thread, it seems like documenting this behavior is okay, but I want to make sure that's what you want.
2017-04-26 22:11:05 +00:00
Christian Poveda
cf521211a1 restructured docs for thread and added links 2017-04-26 11:54:17 -05:00
bors
0ee56f686d Auto merge of #41352 - kennytm:macos-sanitizers, r=alexcrichton
Support AddressSanitizer and ThreadSanitizer on x86_64-apple-darwin

[ASan](https://clang.llvm.org/docs/AddressSanitizer.html#supported-platforms) and [TSan](https://clang.llvm.org/docs/ThreadSanitizer.html#supported-platforms) are supported on macOS, and this commit enables their support.

The sanitizers are always built as `*.dylib` on Apple platforms, so they cannot be statically linked into the corresponding `rustc_?san.rlib`. The dylibs are directly copied to `lib/rustlib/x86_64-apple-darwin/lib/` instead.

Note, although Xcode also ships with their own copies of ASan/TSan dylibs, we cannot use them due to version mismatch.

----

~~There is a caveat: the sanitizer libraries are linked as `@rpath/` (due to https://reviews.llvm.org/D6018), so the user needs to additionally pass `-C rpath`:~~

**Edit:** Passing rpath is now automatic.
2017-04-26 12:34:45 +00:00
steveklabnik
29e6656859 Address platform-specific behavior in TcpStream::shutdown
Fixes #25164
2017-04-26 05:30:35 -04:00
steveklabnik
7b7fe9b5c1 Clean up TcpStream example
Fixes #35950
2017-04-26 05:27:03 -04:00
Christian Poveda
bdb6bb9684 added move 2017-04-26 00:57:59 -05:00
Corey Farwell
997593f16c Rollup merge of #41518 - tbu-:pr_fix_cp_error, r=sfackler
Fix a copy-paste error in `Instant::sub_duration`

Fixes #41514.
2017-04-25 23:05:58 -04:00
Corey Farwell
5f62b2716f Rollup merge of #41463 - SergioBenitez:master, r=alexcrichton
Add internal accessor methods to io::{Chain, Take}.

Resolves #29067.
2017-04-25 23:05:56 -04:00
Corey Farwell
2a320c32ed Rollup merge of #41442 - tbu-:pr_writeall_interrupted, r=aturon
Specify behavior of `write_all` for `ErrorKind::Interrupted` errors

Also spell out that read and write operations should be retried on
`ErrorKind::Interrupted` errors.

Fixes #38494.
2017-04-25 23:05:55 -04:00
Christian Poveda
08514b4376 rewrote the thread struct docs 2017-04-25 17:22:34 -05:00
kennytm
00dff0aa59
Support AddressSanitizer and ThreadSanitizer on x86_64-apple-darwin.
ASan and TSan are supported on macOS, and this commit enables their
support.

The sanitizers are always built as *.dylib on Apple platforms, so they
cannot be statically linked into the corresponding `rustc_?san.rlib`. The
dylibs are directly copied to `lib/rustlib/x86_64-apple-darwin/lib/`
instead.

Note, although Xcode also ships with their own copies of ASan/TSan dylibs,
we cannot use them due to version mismatch.

There is a caveat: the sanitizer libraries are linked as @rpath, so the
user needs to additionally pass `-C rpath`:

    rustc -Z sanitizer=address -C rpath file.rs
                               ^~~~~~~~

Otherwise there will be a runtime error:

    dyld: Library not loaded: @rpath/libclang_rt.asan_osx_dynamic.dylib
      Referenced from: /path/to/executable
      Reason: image not found
    Abort trap: 6

The next commit includes a temporary change in compiler to force the linker
to emit a usable @rpath.
2017-04-25 10:31:01 +08:00
Sergio Benitez
c168d8bb07 Add cautions to io::get_mut method documentation. 2017-04-24 17:12:42 -07:00
Sergio Benitez
76397aea50 Reference tracking issue for more_io_inner_methods. 2017-04-24 17:12:38 -07:00
Sergio Benitez
a765dcaf53 Add internal accessor methods to io::{Chain, Take}.
Resolves #29067.
2017-04-24 16:36:50 -07:00
Tobias Bucher
957d51aecb Fix a copy-paste error in Instant::sub_duration
Fixes #41514.
2017-04-25 01:02:59 +02:00
bors
a94124488a Auto merge of #41437 - cuviper:remove-unstable-deprecated, r=alexcrichton
Remove items that are unstable and deprecated

This removes unstable items that have been deprecated for more than one cycle.

- Since 1.16.0, `#![feature(enumset)]`
    - All of `mod collections::enum_set`
- Since 1.15.0, `#![feature(borrow_state)]`
    - `cell::BorrowState`
    - `RefCell::borrow_state()`
- Since 1.15.0, `#![feature(is_unique)]`
    - `Rc::is_unique()` (made private like `Arc::is_unique()`)
- Since 1.15.0, `#![feature(rc_would_unwrap)]`
    - `Rc::would_wrap()`
- Since 1.13.0, `#![feature(binary_heap_extras)]`
    - `BinaryHeap::push_pop()`
    - `BinaryHeap::replace()`
- Since 1.12.0, `#![feature(as_unsafe_cell)]`
    - `Cell::as_unsafe_cell()`
    - `RefCell::as_unsafe_cell()`
- Since 1.12.0, `#![feature(map_entry_recover_keys)]`
    - `btree_map::OccupiedEntry::remove_pair()`
    - `hash_map::OccupiedEntry::remove_pair()`
- Since 1.11.0, `#![feature(float_extras)]`
    - `Float::nan()`
    - `Float::infinity()`
    - `Float::neg_infinity()`
    - `Float::neg_zero()`
    - `Float::zero()`
    - `Float::one()`
    - `Float::integer_decode()`
    - `f32::integer_decode()`
    - `f32::ldexp()`
    - `f32::frexp()`
    - `f32::next_after()`
    - `f64::integer_decode()`
    - `f64::ldexp()`
    - `f64::frexp()`
    - `f64::next_after()`
- Since 1.11.0, `#![feature(zero_one)]`
    - `num::Zero`
    - `num::One`
2017-04-23 02:13:55 +00:00
Corey Farwell
13d2534fd3 Remove unused import. 2017-04-22 22:13:22 -04:00
Guillaume Gomez
d79b511f5c Fix invalid linkage 2017-04-22 13:25:14 +02:00
Corey Farwell
d5bbeb1a0a Rollup merge of #41426 - malbarbo:android-x86_64, r=alexcrichton
Add x86_64-linux-android target
2017-04-21 08:40:35 -04:00
Corey Farwell
d983256f36 Rollup merge of #41376 - mbrubeck:docs, r=frewsxcv
Expanded docs and examples for PathBuf::file_name and friends

This addresses some common surprises when `PathBuf::set_file_name` is called on the path of a directory rather than a file.

r? @steveklabnik
2017-04-21 08:40:34 -04:00
Tobias Bucher
c49d0906da Specify behavior of write_all for ErrorKind::Interrupted errors
Also spell out that read and write operations should be retried on
`ErrorKind::Interrupted` errors.

Fixes #38494.
2017-04-21 10:32:13 +02:00
Josh Stone
c1aaa60d8d Remove float_extras
[unstable, deprecated since 1.11.0]
2017-04-20 21:16:31 -07:00
Josh Stone
c903ac64e5 Remove num::{Zero,One}
[unstable, deprecated since 1.11.0]
2017-04-20 21:16:31 -07:00
Josh Stone
313aab8fbe Remove RefCell::borrow_state
[unstable, deprecated since 1.15.0]
2017-04-20 21:16:31 -07:00
Josh Stone
df86cecdd2 Remove OccupiedEntry::remove_pair
[unstable, deprecated since 1.12.0]
2017-04-20 21:16:31 -07:00
Marco A L Barbosa
51cc0e38e3 Add x86_64-linux-android target 2017-04-20 16:29:59 -03:00
Matt Brubeck
3b4d34d4fa Expanded docs and examples for PathBuf::file_name and friends 2017-04-20 11:33:05 -07:00
Corey Farwell
83e22b8b24 Rollup merge of #40812 - mgattozzi:ChildDocs, r=steveklabnik
Update `Child` docs to not have a note section

In #29370 it's noted that for "the Note shouldn't be one, and should come before
the examples." This commit changes the positioning of the section and removes
wording that said take note in order for it to flow better with the surrounding
text and it's new position.
2017-04-20 13:33:12 -04:00
Corey Farwell
204243fcac Rollup merge of #41390 - scottmcm:toowned-clone-into, r=alexcrichton
Override ToOwned::clone_into for Path and OsStr

The only non-overridden one remaining is the CStr impl, which cannot
be optimized as doing so would break CString's second invariant.

Follow-up to 7ec27ae (PR #41009).

r? @alexcrichton
2017-04-20 01:39:56 -04:00
Corey Farwell
16710bea14 Rollup merge of #41380 - ollie27:stability, r=BurntSushi
Fix a few stability attributes

These show up in rustdoc so need to be correct.
2017-04-19 21:55:39 -04:00
Corey Farwell
e1168da5e3 Rollup merge of #41348 - lukaramu:std-path-docs, r=frewsxcv
Improve std::path docs

Fixes #29368.

This PR contains a pretty significant redistribution of some of the module docs to more appropriate places, as well as general expansion, clarification, and additional examples.

For more details, see the commit descriptions.

r? @steveklabnik
2017-04-19 21:55:37 -04:00
Michael Gattozzi
df383b9547
Fix link for wait 2017-04-19 14:00:50 -04:00
Scott McMurray
295bcdb715 Override ToOwned::clone_into for Path and OsStr
The only non-overridden one remaining is the CStr impl, which cannot
be optimized as doing so would break CString's second invariant.
2017-04-18 21:02:18 -07:00
Oliver Middleton
fd325a1b48 Fix a few stability attributes
These show up in rustdoc so need to be correct.
2017-04-18 23:33:38 +01:00
Corey Farwell
20718c81de Rollup merge of #41364 - alexcrichton:less-backtrace-prune, r=petrochenkov
std: Back out backtrace pruning logic

It was discovered #40264 that this backtrace pruning logic is a little too
aggressive, so while we figure how out to handle #40264 this commit backs out
the changes to prune frames. Note that other cosmetic changes, such as better
path printing and such remain.
2017-04-18 14:05:46 -04:00
Corey Farwell
2e4b0d57ac Rollup merge of #41353 - redox-os:master, r=alexcrichton
Improve Process::spawn with piped stdio on Redox

- Adds `dup2`, and uses it for stdio piping
- Removes `O_CLOEXEC` from piped stdio, as `dup` on Redox does not disable O_CLOEXEC
2017-04-18 14:05:43 -04:00
Alex Crichton
e46a8bde3c std: Back out backtrace pruning logic
It was discovered #40264 that this backtrace pruning logic is a little too
aggressive, so while we figure how out to handle #40264 this commit backs out
the changes to prune frames. Note that other cosmetic changes, such as better
path printing and such remain.
2017-04-18 06:49:39 -07:00
lukaramu
d6f7577279 Fix typos in std::path's docs
* Closed an unclosed paren
* seperator -> separator
* deperator -> separator
2017-04-18 15:03:41 +02:00
est31
873a3b0363 Allow us to remove masking in the future 2017-04-18 02:43:16 +02:00
est31
3993eb4a27 Preserve sNaN payload when converting them to quiet NaNs 2017-04-18 02:43:16 +02:00
est31
fc028b8180 Convert sNaN to quiet NaN instead of returning errors 2017-04-18 02:43:16 +02:00
est31
bdab5cdc63 assert_ne and tracking issue 2017-04-18 02:43:16 +02:00
est31
56760abf3b Add examples heading 2017-04-18 02:43:16 +02:00
est31
82eead0d0b Return Err(()) when trying to convert sNaN representation to float 2017-04-18 02:43:16 +02:00
est31
32a43da68a Add functions to safely transmute float to int 2017-04-18 02:43:16 +02:00