| Age | Commit message (Collapse) | Author | Lines |
|
clearer variable names in data_race
|
|
|
|
Rustup
This *should* fail because of https://github.com/rust-lang/miri/issues/2874 but it seems we don't actually cover that in our tests...
|
|
|
|
|
|
|
|
|
|
`assume` the runtime range of `align_offset`
Found when I saw code with `align_to` having extraneous checks.
Demo that LLVM can't do this today: <https://rust.godbolt.org/z/6dnG749bq>
(It's filed as https://github.com/llvm/llvm-project/issues/62502.)
|
|
Found when I saw code with `align_to` having extraneous checks.
|
|
bump rustc-build-sysroot to fix miri sysroot build
Fixes https://github.com/rust-lang/miri/issues/2874
|
|
|
|
|
|
Rollup of 8 pull requests
Successful merges:
- #110946 (avoid duplicating TLS state between test std and realstd)
- #110954 (Reject borrows of projections in ConstProp.)
- #111052 (Fix problems with backtraces in two ui tests.)
- #111132 (cleanup nll generalizer)
- #111173 (Still more encoder cleanups)
- #111187 (bootstrap: add llvm-project/runtimes to the sources)
- #111213 (Fixup "since" dates for `array_tuple_conv` feature)
- #111223 (Use `free-args` consistently in bootstrap)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Use `free-args` consistently in bootstrap
Previously, this was only passed to miri and compiletest. Extended it to all other tests and binaries as well.
cc https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/Running.20a.20single.20doctest
r? `@clubby789`
|
|
Fixup "since" dates for `array_tuple_conv` feature
Fixes a mistake from #97594
|
|
bootstrap: add llvm-project/runtimes to the sources
This is needed to build libunwind for LLVM 16:
https://discourse.llvm.org/t/runtimes-removed-support-for-llvm-enable-projects-in-libcxx-libcxxabi-and-libunwind/65707
Zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/187780-t-compiler.2Fwg-llvm/topic/missing.20llvm-project.2Fruntimes.20in.20beta.20srcs
Checked by running `x.py dist` and verifying the produced source archive (build/dist/rustc-1.71.0-dev-src.tar.gz) contains the new directory.
|
|
Still more encoder cleanups
r? ``@cjgillot``
|
|
cleanup nll generalizer
followup to #108861
|
|
Fix problems with backtraces in two ui tests.
`default-backtrace-ice.rs` started started failing for me recently,
because on my Ubuntu 23.04 system there are 100 stack frames, and the
current stack filtering pattern doesn't match on a stack frame with a
three digit number.
`issue-86800.rs` can also be improved, backtrace-wise.
r? `@Nilstrieb`
|
|
Reject borrows of projections in ConstProp.
Fixes https://github.com/rust-lang/rust/issues/110947
|
|
avoid duplicating TLS state between test std and realstd
This basically re-lands https://github.com/rust-lang/rust/pull/100201 and https://github.com/rust-lang/rust/pull/106638, which got reverted by https://github.com/rust-lang/rust/pull/110861. This works around 2 Miri limitations:
- Miri doesn't support the magic linker section that our Windows TLS support relies on, and instead knows where in std to find the symbol that stores the thread callback.
- For macOS, Miri only supports at most one destructor to be registered per thread.
The 2nd would not be very hard to fix (though the intended destructor order is unclear); the first would be a lot of work to fix. Neither of these is a problem for regular Rust code, but in the std test suite we have essentially 2 copies of the std code and then these both become issues. To avoid that we have the std test crate import the TLS code from the real std instead of having its own copy.
r? ``````@m-ou-se``````
|
|
Previously, this was only passed to miri and compiletest. Extended it to
all other tests and binaries as well.
|
|
|
|
|
|
This test is supposed to ensure that full backtraces are used for ICEs.
But it doesn't actually do that -- the filtering done cannot distinguish
between a full backtrace versus a short backtrace.
So this commit changes the filtering to preserve the existence of
`__rust_{begin,end}_short_backtrace` markers, which only appear in full
backtraces. This change means the test now tests what it is supposed to
test.
Also, the existing filtering included a rule that excluded any line
starting with two spaces. This was too strong because it filtered out
some parts of the error message. (This was not a showstopper). It was
also not strong enough because it didn't work with three digit stack
frame numbers, which just started seeing after upgrading my Ubuntu
distro to 23.04 machine (this *was* a showstopper).
So the commit replaces that rule with two more precise rules, one for
lines with stack frame numbers, and one for "at ..." lines.
|
|
Because it then just has to be filtered out.
This change makes this test more like these other tests:
- tests/ui/treat-err-as-bug/err.rs
- tests/ui/treat-err-as-bug/delay_span_bug.rs
- tests/ui/mir/validate/storage-live.rs
- tests/ui/associated-inherent-types/bugs/ice-substitution.rs
- tests/ui/layout/valid_range_oob.rs
|
|
try to downgrade Arc -> Lrc -> Rc -> no-Rc in few places
Expecting this be not slower on non-parallel compiler and probably faster on parallel (checked that this PR builds on it).
|
|
|
|
Rollup of 8 pull requests
Successful merges:
- #108865 (Add a `sysroot` crate to represent the standard library crates)
- #110651 (libtest: include test output in junit xml reports)
- #110826 (Make PlaceMention a non-mutating use.)
- #110982 (Do not recurse into const generic args when resolving self lifetime elision.)
- #111009 (Add `ascii::Char` (ACP#179))
- #111100 (check array type of repeat exprs is wf)
- #111186 (Add `is_positive` method for signed non-zero integers.)
- #111201 (bootstrap: add .gitmodules to the sources)
Failed merges:
- #110954 (Reject borrows of projections in ConstProp.)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
bootstrap: add .gitmodules to the sources
The bootstrap builder now expects this file to exist: https://github.com/rust-lang/rust/blob/6f8c0557e0b73c73a8a7163a15f4a5a3feca7d5c/src/bootstrap/builder.rs#L494
Zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/187780-t-compiler.2Fwg-llvm/topic/missing.20llvm-project.2Fruntimes.20in.20beta.20srcs
|
|
Add `is_positive` method for signed non-zero integers.
ACP: https://github.com/rust-lang/libs-team/issues/105
|
|
check array type of repeat exprs is wf
Fixes #111091
Also makes sure that we actually renumber regions in the length of repeat exprs which we previously weren't doing and would cause ICEs in `adt_const_params` + `generic_const_exprs` from attempting to prove the wf goals when the length was an unevaluated constant with `'erased` in the `ty` field of `Const`
The duplicate errors are caused by the fact that `const_arg_to_const`/`array_len_to_const` in `FnCtxt` adds a `WellFormed` goal for the created `Const` which is also checked by the added `WellFormed(array_ty)`. I don't want to change this to just emit a `T: Sized` goal for the element type since that would ignore `ConstArgHasType` wf requirements and generally uncomfortable with the idea of trying to sync up `wf::obligations` for arrays and the code in hir typeck for repeat exprs.
r? `@compiler-errors`
|
|
Add `ascii::Char` (ACP#179)
ACP second: https://github.com/rust-lang/libs-team/issues/179#issuecomment-1527900570
New tracking issue: https://github.com/rust-lang/rust/issues/110998
For now this is an `enum` as `@kupiakos` [suggested](https://github.com/rust-lang/libs-team/issues/179#issuecomment-1527959724), with the variants under a different feature flag.
There's lots more things that could be added here, and place for further doc updates, but this seems like a plausible starting point PR.
I've gone through and put an `as_ascii` next to every `is_ascii`: on `u8`, `char`, `[u8]`, and `str`.
As a demonstration, made a commit updating some formatting code to use this: https://github.com/scottmcm/rust/commit/ascii-char-in-fmt (I don't want to include that in this PR, though, because that brings in perf questions that don't exist if this is just adding new unstable APIs.)
|
|
Do not recurse into const generic args when resolving self lifetime elision.
Fixes https://github.com/rust-lang/rust/issues/110899
r? `@petrochenkov`
|
|
Make PlaceMention a non-mutating use.
Fixes https://github.com/rust-lang/rust/issues/110781
r? `@JakobDegen`
I don't agree with your statement in https://github.com/rust-lang/rust/issues/110781#issuecomment-1520841434. I suggest that we start fixing `PlaceContext` to be accurate enough for optimizations to use it. This structure is very convenient to use in visitors, and we perhaps have an opportunity to make it less of a footgun.
|
|
libtest: include test output in junit xml reports
Fixes #110336.
|
|
Add a `sysroot` crate to represent the standard library crates
This adds a dummy crate named `sysroot` to represent the standard library target instead of using the `test` crate. This allows the removal of `proc_macro` as a dependency of `test` allowing these 2 crates to build in parallel saving around 9 seconds locally.
|
|
Rollup of 8 pull requests
Successful merges:
- #110859 (Explicitly reject negative and reservation drop impls)
- #111020 (Validate resolution for SelfCtor too.)
- #111024 (Use the full Fingerprint when stringifying Svh)
- #111027 (Remove `allow(rustc::potential_query_instability)` for `builtin_macros`)
- #111039 (Encode def span for foreign return-position `impl Trait` in trait)
- #111070 (Don't suffix `RibKind` variants)
- #111094 (Add needs-unwind annotations to tests that need stack unwinding)
- #111103 (correctly recurse when expanding anon consts)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
The bootstrap builder now expects this file to exist:
https://github.com/rust-lang/rust/blob/6f8c0557e0b73c73a8a7163a15f4a5a3feca7d5c/src/bootstrap/builder.rs#L494
|
|
This is needed to build libunwind for LLVM 16:
https://discourse.llvm.org/t/runtimes-removed-support-for-llvm-enable-projects-in-libcxx-libcxxabi-and-libunwind/65707
Doesn't work: with this, running `python3 x.py dist` produces a tar
archive that still doesn't contain the runtimes subdirectory?
|
|
|
|
|
|
|
|
correctly recurse when expanding anon consts
recursing with `super_fold_with` is wrong in case `bac` is itself normalizable, the test that was supposed to test for this being wrong did not actually test for this in reality because of the usage of `{ (N) }` instead of `{{ N }}`. The former resulting in a simple `ConstKind::Param` instead of `ConstKind::Unevaluated`. Tbh generally this test seems very brittle and it will be a lot easier to test once we have normalization of assoc consts since then we can just test that `T::ASSOC` normalizes to some `U::OTHER` which normalizes to some third thing.
r? `@compiler-errors`
|
|
Add needs-unwind annotations to tests that need stack unwinding
This allows filtering them out when running the rustc test suite for cg_clif.
|
|
Don't suffix `RibKind` variants
This PR
- Removes `use RibKind::*`
- Renames `RibKind::{SomethingRibKind => Something}`
It seems unnecessary to have "RibKind" in the end of all variants, if we can just use it as a normal enum. Additionally previously it was weird that `MacroDefinition` is the only unsuffixed variant.
|
|
Encode def span for foreign return-position `impl Trait` in trait
Fixes #111031, yet another def-span encoding issue :/
Includes a smaller repro than the issue, but I can confirm it ICEs:
```
query stack during panic:
#0 [def_span] looking up span for `rpitit::Foo::bar::{opaque#0}`
#1 [object_safety_violations] determining object safety of trait `rpitit::Foo`
#2 [check_is_object_safe] checking if trait `rpitit::Foo` is object safe
#3 [typeck] type-checking `main`
#4 [used_trait_imports] finding used_trait_imports `main`
#5 [analysis] running analysis passes on this crate
```
Luckily since this only affects nightly, this desn't need to be backported.
|
|
r=petrochenkov
Remove `allow(rustc::potential_query_instability)` for `builtin_macros`
cc #84447
|
|
Use the full Fingerprint when stringifying Svh
Finally circling back, per https://github.com/rust-lang/rust/pull/110367#discussion_r1168340739
r? `@oli-obk`
|
|
Validate resolution for SelfCtor too.
Fixes https://github.com/rust-lang/rust/issues/89868
r? `@petrochenkov`
|