| Age | Commit message (Collapse) | Author | Lines |
|
fix typo in primitive-types section on slices
|
|
|
|
|
|
Note warning of default features on libc
The default features of libc include libstd. This should be noted on this page.
|
|
Update tracking issue for `{BTreeMap, BTreeSet}::{append, split_off}`
r? @alexcrichton
|
|
run rustfmt on libstd/collections/hash folder
|
|
Remove linking and intrinsics code made dead by only supporting LLVM 3.7 and up
This is mostly based on Alex's throwaway comment:
> probably reject those that LLVM just doesn't support...
So I'm more than happy to adjust the PR based on how you thought this should look. Also happy to split it into two PRs, one for linking and one for intrinsics.
r? @alexcrichton
/cc @nagisa @brson
|
|
Treat `#[test]` like `#[cfg(test)]` in non-test builds
This PR treats `#[test]` like `#[cfg(test)]` in non-test builds. In particular, like `#[cfg(test)]`,
- `#[test]` nodes are stripped during `cfg` processing, and
- `#[test]` is disallowed on non-optional expressions.
Closes #33946.
r? @nrc
|
|
|
|
|
|
|
|
Support 16-bit pointers in MIR
|
|
r=alexcrichton
Fix ICE regression caused by configuring interpolated AST
Fixes #34171.
r? @nrc
|
|
|
|
|
|
Since we only support LLVM 3.7 and above, we will never need to use the
AR linker. Remove the possibility of calling it and all the now-dead
code.
|
|
|
|
Visit statement and expression attributes in the AST visitor
Currently, these attributes are not visited, so they are not gated feature checked in the post expansion visitor. This only affects crates using `#![feature(stmt_expr_attributes)]`.
r? @nrc
|
|
|
|
Rollup of 12 pull requests
- Successful merges: #34088, #34129, #34136, #34145, #34146, #34148, #34159, #34160, #34165, #34175, #34184, #34185
- Failed merges:
|
|
doc: intro should be 1 sentence
Also, do not repeat name of type
|
|
Fix BTreeMap example typo
The whole example is made around movies reviews, but that one line says "review some books".
|
|
docs: Improve char::to_{lower,upper}case examples
Collect the results to a String to make it clear that it will not always
return only one char and add examples showing that.
r? @steveklabnik
|
|
Fixed two little Game Of Thrones References
Fixed: conflicting spelling of "Jon Snow"
Fixed: It's call "Night's Watch"
|
|
run rustfmt on librustc_bitflags folder
|
|
run rustfmt on libflate folder
|
|
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
|
|
Test case for borrowk ICE #25579
r? @nikomatsakis
Fixes #25579
|
|
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
|
|
run rustfmt on map.rs in libcollections/btree folder
|
|
Reflect supporting only LLVM 3.7+ in the LLVM wrappers
Based on 12abddb06b681f5c1cb389074b5a35d3e260698f, it appears we can drop support for these older LLVM versions. Hopefully, this will make it slightly easier to support the changes needed for LLVM 3.9.
r? @nagisa
/cc @brson
|
|
|
|
|
|
run rustfmt on liballoc_jemalloc 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
|
|
remove redundant assert statements
|
|
|
|
This simplifies the code considerably, removing one of the
last uses of hygienic matching out of resolution.
|
|
|
|
possible
|
|
|
|
|
|
Also, do not repeat name of type
|
|
|
|
|
|
|
|
MIR cleanups and predecessor cache
This PR cleans up a few things in MIR and adds a predecessor cache to allow graph algorithms to be run easily.
r? @nikomatsakis
|
|
|
|
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
|
|
|