| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
Layout::{Raw,StructWrapped}NullablePointer.
|
|
|
|
|
|
|
|
|
|
|
|
Layout::StructWrappedNullablePointer.
|
|
discrfield.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Remove left over dead code from suggestion diagnostic refactoring
More cleanups after #41876 and #45741
|
|
|
|
Ignore borrowck for static lvalues and allow assignment to static muts
Fixes #45129.
Fixes #45641.
|
|
Fix #38878 again — restart linker when seeing SIGBUS in additional to SIGSEGV.
In https://github.com/rust-lang/rust/pull/45985#issuecomment-344586645 we see a linker crashed due to Bus Error (signal 10) on macOS. The error was not caught by #40422 since the PR only handles Segmentation Fault (signal 11). The crash log indicates the problem is the same as #38878, so we just amend #40422 to include SIGBUS as well.
(Additionally, modified how the crash logs are printed so that irrelevant logs are truly filtered out.)
|
|
|
|
Rollup of 4 pull requests
- Successful merges: #45767, #46044, #46066, #46071
- Failed merges:
|
|
Remove return_ty from Mir
https://github.com/rust-lang/rust/issues/46001
|
|
Fix primitive types not showing up
Fixes #46017.
r? @QuietMisdreavus
|
|
fix some python3 incompatibilities
|
|
rustdoc book: talk about #![doc(test(no_crate_inject))] and #![doc(test(attr(...)))]
While investigating https://github.com/rust-lang/rust/issues/45750 i noticed that `#![doc(test(attr(...)))]` wasn't documented at all. Since this is useful for making your examples follow the same coding guidelines as your code, i wanted to add it to the Rustdoc Book. I also added `#![doc(test(no_crate_inject))]` since it's used in the same place and might be useful for macro-heavy crates. I added mentions for these to "The `doc` attribute" as well as "Documentation tests" since it's useful information in both places.
Technically the step reordering in the second commit is gated on https://github.com/rust-lang/rust/pull/45764, since before that lands attributes from the doctest come before the ones from `#![doc(test(attr(...)))]`.
|
|
r=QuietMisdreavus
Support `extern type` in rustdoc.
Fixes #45640.
(cc #43467)
|
|
https://github.com/rust-lang/rust/issues/46001
|
|
Rename `Span::default` -> `Span::def_site`
I think the explicitness here is warranted.
c.f. #45934
r? @nrc
|
|
MIR-borrowck: emit "`foo` does not live long enough" instead of borrow errors
Fixes #45360. As of writing, contains deduplication of existing errors.
r? @nikomatsakis
|
|
rustc_trans: atomically write .rmeta outputs to avoid races.
Fixes #45841 in a similar vein to how LLVM writes archives: write a temporary file and then rename it.
r? @alexcrichton
|
|
Part of #45873
|
|
|
|
|
|
Simplify higher-ranked LUB/GLB
This is a better version of https://github.com/rust-lang/rust/pull/44211. It still makes higher-ranked LUB/GLB into a hard equality test, however, it does try to identify that something changed and issue a notice to the user. I wroteup https://github.com/rust-lang/rust/issues/45852 as a tracking issue for this change.
Currently, this moves straight to a hard-error, on the basis that the crater run in #44211 saw no impact. It might be good to retest -- or perhaps to try for a warning period. Trying to do the latter in a precise way would be somewhat painful, but an imprecise way might suffice -- that is, we could issue warning *whenever* a LUB/GLB operation succeeds that will later fail, even if it doesn't ultimately impact the type check. I could experiment with this.
~~I am *mildly* wary about landing this independently of other code that moves to a universe-based system. In particular, I was nervous that this change would make coherence accepts new pairs of impls that will later be errors. I have the code for the universe-based approach available, I hope to open an PR and run some tests on its impact very shortly.~~ @arielb1 points out that I was being silly.
r? @arielb1
|
|
|
|
the same line in other tests.
|
|
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
|
|
|
|
|
|
|
|
The ordering can affect error msg, and this map is not a high
performance pathway.
|
|
Good riddance.
|
|
|
|
|
|
MIR: hide .rodata constants vs by-ref ABI clash in trans.
Back in #45380, constants were copied into locals during MIR creation to ensure that arguments ' memory can be used by the callee, if the constant is placed in `.rodata` and the ABI passes it by-ref.
However, there are several drawbacks (see https://github.com/rust-lang/rust/pull/45380#discussion_r150447709), most importantly the complication of constant propagation (UB if a constant ends up in `Call` arguments) and inconveniencing analyses.
Instead, I've modified the `rustc_trans` implementation of calls to copy an `Operand::Constant` argument locally if it's not immediate, and added a test that segfaults without the copy.
cc @dotdash @arielb1
|
|
incr.comp.: Implement query result cache and use it to cache type checking tables.
This is a spike implementation of caching more than LLVM IR and object files when doing incremental compilation. At the moment, only the `typeck_tables_of` query is cached but MIR and borrow-check will follow shortly. The feature is activated by running with `-Zincremental-queries` in addition to `-Zincremental`, it is not yet active by default.
r? @nikomatsakis
|