| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Rollup of 17 pull requests
- Successful merges: #46518, #48810, #48834, #48902, #49004, #49092, #49096, #49099, #49104, #49125, #49139, #49152, #49157, #49161, #49166, #49176, #49184
- Failed merges:
|
|
Stabilize slice patterns without `..`
And merge `feature(advanced_slice_patterns)` into `feature(slice_patterns)`.
The detailed description can be found in https://github.com/rust-lang/rust/issues/48836.
Slice patterns were unstable for long time since before 1.0 due to many bugs in the implementation, now this stabilization is possible primarily due to work of @arielb1 who [wrote the new MIR-based implementation of slice patterns](https://github.com/rust-lang/rust/pull/32202) and @mikhail-m1 who [fixed one remaining class of codegen issues](https://github.com/rust-lang/rust/pull/47926).
Reference PR https://github.com/rust-lang-nursery/reference/pull/259
cc https://github.com/rust-lang/rust/issues/23121
fixes #48836
|
|
Update beta to version with fixed FreeBSD support from #49023.
Fixes #42681
r? @alexcrichton
|
|
#49133 - Reworded the Error message: "`pub` not needed here" message
|
|
Docs: fix incorrect copy-paste for new `X?` in formatting strings
|
|
Do not suggest `.into()` in `const`s
Fix #49100.
|
|
r=QuietMisdreavus
Fix events handling in rustdoc
Fixes #49075.
|
|
Merge `feature(advanced_slice_patterns)` into `feature(slice_patterns)`
|
|
Add BufReader::buffer
This subsumes the need for an explicit is_empty function, and provides
access to the buffered data itself which has been requested from time to
time.
We could call this `buf` to match `fill_buf`, but I think I'd prefer `fill_buffer` anyways in hindsight.
|
|
rustbuild: Ship libsynchronization
Hot on the heels of #49044 comes similar issue with libsynchronization. Discovered while building clippy:
```
<skipped>
Compiling serde_derive v1.0.33
error: linking with `gcc` failed: exit code: 1
<skipped>
= note: ld: cannot find -lsynchronization
```
r? @nikomatsakis
|
|
improve error message of inner attribute syntax
Fixes #49040
|
|
Use associated consts for GenericRadix base and prefix
The trait being private, this does not imply an API change.
|
|
Update rustfmt to 0.4.1
|
|
Replace many of the last references to readmes
In particular, this removes the dep track readme, so it should not be merged before https://github.com/rust-lang-nursery/rustc-guide/pull/92
Fix #47935
cc #48478
r? @nikomatsakis
|
|
r=michaelwoerister
Cache the specialization_graph query
Fixes #48987
r? @michaelwoerister
|
|
refactor the `BorrowckErrors` trait to take `fn(self)`
Fixes #48783
|
|
Suggest removing `&`s
This implements the error message discussed in #47744.
We check whether removing each `&` yields a type that satisfies the requested obligation.
Also, it was created a new `NodeId` field in `ObligationCause` in order to iterate through the `&`s. The way it's implemented now, it iterates through the obligation snippet and counts the number of `&`.
r? @estebank
|
|
Implement Integer methods for Wrapping
Wrapping<T> now implements:
count_ones, count_zeros, leading_zeros,
trailing_zeros, rotate_left, rotate_right, swap_bytes, from_be,
from_le, to_be, to_le, and pow
where T is:
u8, u16, u32, u64, usize, i8, i16, i32, i64, or isize.
Docs were written for all these methods, as well as examples. The
examples mirror the ones on u8, u16, etc... for consistency.
Closes #32463
|
|
Improve documentation for Borrow
This is the first step in improving the documentation for all the reference conversion traits. It proposes new text for the trait documentation of `Borrow`. Since I feel it is a somewhat radical rewrite and includes a stricter contract for `Borrow` then the previous text—namely that *all* shared traits need to behave the same, not just a select few—, I wanted to get some feedback before continuing.
Apart from the ‘normative’ description, the new text also includes a fairly extensive explanation of how the trait is used in the examples section. I included it because every time I look at how `HashMap` uses the trait, I need to think for a while as the use is a bit twisted. So, I thought having this thinking written down as part of the trait itself might be useful. One could argue that this should go into The Book, and, while I really like having everything important in the docs, I can see the text moved there, too.
So, before I move on: is this new text any good? Do we feel it is correct, useful, comprehensive, and understandable?
(This PR is in response to #44868 and #24140.)
|
|
Pin, Unpin, PinBox
Implementing rust-lang/rfcs#2349 (do not merge until RFC is merged)
@bors r? @cramertj
|
|
|
|
|
|
|
|
|
|
Fixes #42681
|
|
|
|
|
|
|
|
|
|
Cleanup metadata and incremental cache processing of constants
fixes #49033
fixes #49081
we really need tests for this. do we have any cross compilation tests? I couldn't find any
|
|
Remove or hide deprecated unstable SipHasher{13,24}
Deprecated since Rust 1.13.0.
|
|
|
|
|
|
|
|
Wrapping<T> now implements:
count_ones, count_zeros, leading_zeros,
trailing_zeros, rotate_left, rotate_right, swap_bytes, from_be,
from_le, to_be, to_le, and pow
where T is:
u8, u16, u32, u64, usize, i8, i16, i32, i64, or isize.
Docs were written for all these methods, as well as examples. The
examples mirror the ones on u8, u16, etc... for consistency.
Closes #32463
|
|
r=michaelwoerister
extend stable hasher to support `CanonicalTy`
Fixes #49043
r? @michaelwoerister
|
|
Add hexadecimal formatting of integers with fmt::Debug
This can be used for integers within a larger types which implements Debug (possibly through derive) but not fmt::UpperHex or fmt::LowerHex.
```rust
assert!(format!("{:02x?}", b"Foo\0") == "[46, 6f, 6f, 00]");
assert!(format!("{:02X?}", b"Foo\0") == "[46, 6F, 6F, 00]");
```
RFC: https://github.com/rust-lang/rfcs/pull/2226
The new formatting string syntax (`x?` and `X?`) is insta-stable in this PR because I don’t know how to change a built-in proc macro’s behavior based of a feature gate. I can look into adding that, but I also strongly suspect that keeping this feature unstable for a time period would not be useful as possibly no-one would use it during that time.
This PR does not add the new (public) `fmt::Formatter` proposed in the API because:
* There was some skepticism on response to this part of the RFC
* It is not possible to implement as-is without larger changes to `fmt`, because `Formatter` at the moment has no easy way to tell apart for example `Octal` from `Binary`: it only has a function pointer for the relevant `fmt()` method.
If some integer-like type outside of `std` want to implement this behavior, another RFC will likely need to propose a different public API for `Formatter`.
|
|
Try to reduce amount of time on the asmjs builder
This PR has two commits for two separate strategies:
* First it disables optimizations for all tests, hopefully saving time by not optimizing the test code. This caused a number of run-pass tests to fail which are switched to being ignored here.
* Next it disables a number of test suites which aren't asm.js specific and already run elsewhere
cc #48826
|
|
|
|
- Using `span_take_while` to implement others.
|
|
- `span_suggestion` changed to `span_suggestion_short`;
- `Span` used changed to contain only `&` refs;
- Tests passing.
|
|
|
|
|
|
|
|
Suggesting snippet without changing the original formatting of the code.
|
|
- `suggest_snippet` handling space between refs;
- Suggest message changing according to the number of refs that should
be removed.
|
|
|
|
|
|
|