-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Rollup of 6 pull requests #34073
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Rollup of 6 pull requests #34073
Conversation
Manishearth
commented
Jun 4, 2016
- Successful merges: Incr. comp. dep-node for traits, tests #33998, Run rustfmt on src/test/codegen/ folder #34001, rustdoc: Don't generate empty files for stripped items #34045, Correct issue number in test #34048, Add regression test for issue #32829 #34052, Update comment #34059
- Failed merges:
The previous version of the chapter covered a lot of ground, but was a little meandering and hard to follow at times. This draft is intended to be clearer and more direct, while still providing the same information as the previous version.
r? @pnkfelix (rust_highfive has picked a reviewer for you, use r? to override) |
@bors r+ p=20 |
📌 Commit decb264 has been approved by |
⌛ Testing commit decb264 with merge 8a9e1ed... |
💔 Test failed - auto-win-msvc-64-opt |
@bors retry
|
Oh, it timed out |
⌛ Testing commit decb264 with merge 750f18a... |
💔 Test failed - auto-linux-64-opt |
The book's "Error handling with Box<Error>" section talks about Box<Error>. In the actual example Box<Error + Send + Sync> is used instead so that the corresponding From impls could be used to convert a plain string to an error type. Rust 1.7 added support for conversion from &str/String to Box<Error>, so this gotcha and later references to it can now be removed.
…nor gather flags for untracked content. (Includes a regression test, which needed to go into `compile-fail/` due to weaknesses when combining `#[deny(warnings)]` with `tcx.sess.span_warn(..)`) (updated with review feedback from arielb1.)
Rewrote "How Safe and Unsafe Interact" Nomicon chapter. The previous version of the chapter covered a lot of ground, but was a little meandering and hard to follow at times. This draft is intended to be clearer and more direct, while still providing the same information as the previous version. r? @steveklabnik
…umeGomez run rustfmt on librustc_lint folder
Fix wrong statement in compare_exchange doc The documentation for `core::sync::atomic::AtomicSomething::compare_exchange` contains a wrong, or imprecise, statement about the return value. It goes: The return value is a result indicating whether the new value was written and containing the previous value. On success this value is guaranteed to be equal to `new`. In the second sentence, `this value` is gramatically understood as referring to `return value` from the first sentence. Due to how CAS works, the returned value is always what was in the atomic variable _before_ the operation occurred, not what was written into it during the operation. Hence, the fixed doc should say: The return value is a result indicating whether the new value was written and containing the previous value. On success this value is guaranteed to be equal to `current`. This version is confirmed by the runnable examples in variants of `AtomicSomething`, e.g. assert_eq!(some_bool.compare_exchange(true, false, Ordering::Acquire, Ordering::Relaxed), Ok(true)); where the returned value is `Ok(current)`. This PR fixes all occurrences of this bug I could find. An alternative solution would be to modify the second sentence so that it refers to the value _written_ into the Atomic rather than what was there before, in which case it would be correct. Example alternative formulation: On success the value written into the `bool`/`usize`/`whatever` is guaranteed to be equal to `new`. r? @steveklabnik
run rustfmt on map.rs in libcollections/btree folder
…n, r=nrc Refactor away the prelude injection fold Instead, just inject `#[prelude_import] use [core|std]::prelude::v1::*;` at the crate root while injecting `extern crate [core|std];` and process `#[no_implicit_prelude]` attributes in `resolve`. r? @nrc
Fix issue rust-lang#34101 Fix issue rust-lang#34101: do not track subcontent of type with dtor nor gather flags for untracked content. (Includes a regression test, which needed to go into `compile-fail/` due to weaknesses when combining `#[deny(warnings)]` with `tcx.sess.span_warn(..)`)
…veklabnik Remove a gotcha from book/error-handling.md The book's "Error handling with `Box<Error>`" section talks about `Box<Error>`. In the actual example `Box<Error + Send + Sync>` is used instead so that the corresponding From impls could be used to convert a plain string to an error type. Rust 1.7 added support for conversion from `&str`/`String` to `Box<Error>`, so this gotcha and later references to it can now be removed. r? @steveklabnik
Add explanations for E0503 and E0508. (cannot use `..` because it was mutably borrowed, cannot move out of type `..`, a non-copy fixed-size array) Part of rust-lang#32777.
…=nikomatsakis Test case for borrowk ICE rust-lang#25579 r? @nikomatsakis Fixes rust-lang#25579
docs: simplify wording It took me more then a moment to decipher "with no non-`'static`" thing :) "`'static` type" should say the same thing more clearly. r? @steveklabnik
@bors r+ p=10 |
📌 Commit c7b9ee2 has been approved by |
⌛ Testing commit c7b9ee2 with merge ab7d405... |
💔 Test failed - auto-linux-64-opt-rustbuild |
☔ The latest upstream changes (presumably #32202) made this pull request unmergeable. Please resolve the merge conflicts. |