-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 6 pull requests #34073
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. |