| Age | Commit message (Collapse) | Author | Lines |
|
Fixes https://github.com/rust-lang/rust/issues/62301, a regression in 1.36.0 which was caused by hashbrown using `NonZero<T>` where the older hashmap used `Unique<T>`.
|
|
nikomatsakis:arbitrary_self_types-lifetime-elision-2-beta, r=Centril
Emergency backport of "arbitrary self types lifetime elision 2"
this is a backport of #61207 per the discussion in [compiler steering meeting](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/steering.20meeting.202019-06-28)
r? @Centril
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r=pnkfelix
create a "provisional cache" to restore performance in the case of cycles
Introduce a "provisional cache" that caches the results of auto trait resolutions but keeps them from entering the *main* cache until everything is ready. This turned out a bit more complex than I hoped, but I don't see another short term fix -- happy to take suggestions! In the meantime, it's very clear we need to rework the trait solver. This resolves the extreme performance slowdown experienced in #60846 -- I plan to add a perf.rust-lang.org regression test to track this.
Caveat: I've not run `x.py test` in full yet.
r? @pnkfelix
cc @arielb1
Fixes #60846
|
|
This reverts commit 8ed2292dbe75b9b65e9fe1a079428d1e1e3b610f.
It caused doctests in this repository to no longer be tested including all of the core crate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cleanly.
|
|
|
|
dilos2-testing has problems since the last repository update, so get the packages from dilos2 stable.
Fixes #61022.
|
|
|
|
|
|
|
|
Fixes #60482.
|
|
|
|
|
|
|
|
|
|
|
|
Fixes #61357
|
|
|
|
|
|
|
|
This reverts commit b4a6f597934f16f89e27058a32a514c9572f148f.
|
|
See #58794 for context.
|
|
https://github.com/rust-lang/rust/commit/cff075009 made LLVM emit
less debuginfo when compiling with "line-tables-only". The change
was essentially correct but the reduced amount of debuginfo broke
a number of tools.
This commit reverts the change so we get back the old behavior,
until we figure out how to do this properly and give external
tools to adapt to the new format.
See https://github.com/rust-lang/rust/issues/60020 for more info.
|
|
DoubleEndedIterators."
This reverts commit 3e86cf36b5114f201868bf459934fe346a76a2d4.
|
|
|
|
|
|
|
|
|
|
Move arbitrary self types's tests into ui/self
https://github.com/rust-lang/rust/pull/60944#discussion_r285362006
r? @Centril
|
|
Bump LLVM submodule to fix MSP430 AsmPrinter and assembler syntax mismatch.
Moving on to steps 9 and 10 of the llvm bugfix [guide](https://rust-lang.github.io/rustc-guide/codegen/updating-llvm.html#bugfix-updates), now that Rust's copy of LLVM was [updated](https://github.com/rust-lang/llvm-project/pull/13).
This PR closes issue #59077. Nightlies following this PR should have working msp430 codegen again :D.
Thanks for the prompt response even though it took me a while to get this "simple" PR done!
|
|
Set -funwind-tables and -fno-exceptions unconditionally for LLVM's libunwind
These are required otherwise libunwind will end up with undefined
references to __gxx_personality_v0 which is provided by C++ ABI
library and that's undesirable.
|
|
remove confusing remarks about mixed volatile and non-volatile accesses
These comments were originally added by @ecstatic-morse in https://github.com/rust-lang/rust/commit/911d35f0bfd207112806eaec2763201dad06d1c7 and then later edited by me. The intention, I think, was to make sure people do both their reads and writes with these methods if the affected memory really is used for communication with external devices.
However, [people read this as saying that mixed volatile/non-volatile accesses are UB](https://github.com/rust-lang/rust/issues/58599#issuecomment-493791130), which -- to my knowledge -- they are not. So better remove this.
Cc @rkruppe @rust-lang/wg-unsafe-code-guidelines
|
|
rustc: Improve type size assertions
Now they
- Tell what the new size is, when it changes
- Do not require passing an identifier
```
::: src\libsyntax\parse\token.rs:223:1
|
223 | static_assert_size!(Token, 123);
| -------------------------------- in this macro invocation
|
= note: expected type `[(); 123]`
found type `[(); 16]`
```
|
|
Document BinaryHeap time complexity
I went into some detail on the time complexity of `push` because it is relevant for using BinaryHeap efficiently -- specifically that you should avoid pushing many elements in ascending order when possible.
r? @Amanieu
Closes #47976. Closes #59698.
|
|
Misc changes to rustc_metadata
|
|
stable hashing: Remove unused field and add documentation.
This PR removes the `bytes_hashed` field from `StableHasher` which in the past has been used for collecting some statistics but has gone unused for quite a while (months at least) now.
The PR also tries to document some requirements for `HashStable` implementations that haven't been written down explicitly anywhere.
|