| Age | Commit message (Collapse) | Author | Lines |
|
The 2 commands do the same thing.
Also, follow style used elsewhere in the guide.
|
|
Rustc pull update
|
|
Adds 'with' to the bootstrapping docs to help clarify how to build a new compiler
|
|
|
|
|
|
|
|
|
|
Drop AST on a separate thread and prefetch `hir_crate`
This drop AST on a separate thread and prefetches `hir_crate`.
A `spawn` function is added to the `parallel` module which spawn some work on the Rayon thread pool.
|
|
Rollup of 10 pull requests
Successful merges:
- #140385 (Subtree update of `rust-analyzer`)
- #140458 (Fix for async drop ice with partly dropped tuple)
- #140465 (chore: edit and move tests)
- #140467 (Don't FCW assoc consts in patterns)
- #140468 (Minor tweaks to make some normalization (adjacent) code less confusing)
- #140470 (CI: rfl: move job forward to Linux v6.15-rc4)
- #140476 (chore: delete unused ui/auxiliary crates)
- #140481 (Require sanitizers be enabled for asan_odr_windows.rs)
- #140486 (rustfmt: Also allow bool literals as first item of let chain)
- #140494 (Parser: Document restrictions)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Parser: Document restrictions
I had trouble easily understanding what these various flags do. This is my attempt to try to explain what these do.
|
|
r=calebcartwright
rustfmt: Also allow bool literals as first item of let chain
This is a functional cherry-pick of https://github.com/rust-lang/rustfmt/pull/6492
I'm bringing this change over directly as the subtree sync is taking more effort than anticipated (some unrelated r-l/rustfmt changes need to be reverted before we perform the full sync) and we need to ensure that rustfmt behavior accounts with the final style guide rules as part of let chain stabilization.
r? ````@ghost````
|
|
Require sanitizers be enabled for asan_odr_windows.rs
Issue Details:
The `asan_odr_windows.rs` test is failing on AArch64 Windows, as sanitizers aren't supported on that platform.
Fix Details:
Apply the correct "need sanitizer" requirements to the test.
|
|
chore: delete unused ui/auxiliary crates
It appears that all the tests that used it have been moved to tests/ui/editions/ (or elsewhere) already.
r? `````@jieyouxu`````
|
|
CI: rfl: move job forward to Linux v6.15-rc4
A hopefully routine upgrade to Linux v6.15-rc4!
r? `````@lqd````` `````@Kobzol`````
try-job: x86_64-rust-for-linux
`````@rustbot````` label A-rust-for-linux
`````@bors````` try
|
|
Minor tweaks to make some normalization (adjacent) code less confusing
r? lcnr
sorry for double ping lol
|
|
Don't FCW assoc consts in patterns
Fixes #140447
See comment in added test. We could also check that the anon const is a const arg by looking at the HIR. I'm not sure that's necessary though :thinking: The only consts that are evaluated "for the type system" are const args (which *should* get FCWs) and const patterns (which cant be anon consts afaik).
|
|
chore: edit and move tests
I deleted `ui/non-copyable-void.rs`: added in https://github.com/rust-lang/rust/commit/ab4105d9e8b7c0719343aa2e4edd15cae0b7c947 to test that "nonconstructable" enums are "noncopyable", but these properties are not correlated anymore.
Second commit is kinda messy because I moved/edited/renamed some files at the same time, but I deleted nothing there.
|
|
r=oli-obk
Fix for async drop ice with partly dropped tuple
Fixes https://github.com/rust-lang/rust/issues/140427.
Problem was with block data access with block id from new added blocks in patch.
|
|
Subtree update of `rust-analyzer`
r? ````@ghost````
|
|
Rollup of 9 pull requests
Successful merges:
- #134232 (Share the naked asm impl between cg_ssa and cg_clif)
- #139624 (Don't allow flattened format_args in const.)
- #140090 (Check bare function idents for non snake-case name)
- #140203 (Issue an error when using `no_mangle` on language items)
- #140450 (ast: Remove token visiting from AST visitor)
- #140498 (Misc tweaks to HIR typeck (mostly w.r.t. checking calls))
- #140504 (transmutability: ensure_sufficient_stack when answering query)
- #140506 (unstable-book: fix capitalization)
- #140516 (Replace use of rustc_type_ir by rustc_middle)
Failed merges:
- #140374 (Resolve instance for SymFn in global/naked asm)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Replace use of rustc_type_ir by rustc_middle
cc #138449
I want to help on this issue. I have replaced all the rustc_type_ir uses by the equivalent type in rustc_middle.
DelayedSet is also re-exposed by rustc_middle.
|
|
unstable-book: fix capitalization
|
|
transmutability: ensure_sufficient_stack when answering query
Based on #140380.
Fixes #118860. The compile time was addressed earlier, this merely addresses stack overflow part of the issue.
r? `@jswrenn` `@joshlf`
|
|
Misc tweaks to HIR typeck (mostly w.r.t. checking calls)
Just some cleanups.
r? oli-obk
|
|
ast: Remove token visiting from AST visitor
It's no longer necessary after the removal of nonterminal tokens in #124141.
r? `@nnethercote`
|
|
r=bjorn3
Issue an error when using `no_mangle` on language items
This pull requests adds the code to issue an error or a warning when using `no_mangle` on language items. This should detail why the `undefined symbol` error is issued for the code described in #139923.
The pull request adds two ui tests, one testing the error and the other one the warning.
I would love some feedback here, as I am not sure that the error and warning are issues using the right API.
|
|
Check bare function idents for non snake-case name
This PR adds the check required to lint on bare function idents for non snake-case name.
Reported at #140089.
cc `@theemathas`
|
|
Don't allow flattened format_args in const.
Fixes https://github.com/rust-lang/rust/issues/139136
Fixes https://github.com/rust-lang/rust/issues/139621
We allow `format_args!("a")` in const, but don't allow any format_args with arguments in const, such as `format_args!("{}", arg)`.
However, we accidentally allow `format_args!("hello {}", "world")` in const, as it gets flattened to `format_args!("hello world")`.
This also applies to panic in const.
This wasn't supposed to happen. I added protection against this in the format args flattening code, ~~but I accidentally marked a function as const that shouldn't have been const~~ but this was removed in https://github.com/rust-lang/rust/pull/135139.
This is a breaking change. The crater found no breakage, however.
This breaks things like:
```rust
const _: () = if false { panic!("a {}", "a") };
```
and
```rust
const F: std::fmt::Arguments<'static> = format_args!("a {}", "a");
```
|
|
Share the naked asm impl between cg_ssa and cg_clif
This was introduced in https://github.com/rust-lang/rust/pull/128004.
|
|
This commit does the following:
- Replaces use of rustc_type_ir by rustc_middle
- Removes the rustc_type_ir dependency
- The DelayedSet type is exposed by rustc_middle so everything can be
accessed through rustc_middle in a coherent manner.
|
|
|
|
Rollup of 11 pull requests
Successful merges:
- #136160 (Remove backticks from `ShouldPanic::YesWithMessage`'s `TrFailedMsg`)
- #139059 (uses_power_alignment: wording tweaks)
- #139192 (mention provenance in the pointer::wrapping_offset docs)
- #140312 (Improve pretty-printing of braces)
- #140404 (rm `TypeVistable` impls for `Canonical`)
- #140437 (enable msa feature for mips in codegen tests)
- #140438 (Add `rust.debug-assertions-tools` option)
- #140439 (miri: algebraic intrinsics: bring back float non-determinism)
- #140445 (Treat ManuallyDrop as ~const Destruct)
- #140446 (chore: fix some tests)
- #140448 (Rename `rustc_query_append!` to `rustc_with_all_queries!`)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
add suggestion on how to add a panic breakpoint
Co-authored-by: Pat Pannuto <pat.pannuto@gmail.com>
delete no_mangle from ui/panic-handler/panic-handler-wrong-location test
issue an error for the usage of #[no_mangle] on internal language items
delete the comments
add newline
rephrase note
Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com>
update error not to leak implementation details
delete no_mangle_span
Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com>
delete commented code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rename `rustc_query_append!` to `rustc_with_all_queries!`
Whenever I'm trying to make sense of the query system internals, I always get tripped up on this unhelpfully-named macro. The fact that it's a higher-order proc macro is already mind-melting enough on its own.
This new name, `rustc_with_all_queries!`, forms a much more intuitive combination with the helper macros that it invokes. And only one of the call sites was even making use of the “append” part of its old name.
This PR also reformats the parameters matched by the helper macros, to make the actual argument syntax a bit easier to see.
---
Renaming and reformatting only; no functional changes.
|
|
chore: fix some tests
|
|
Treat ManuallyDrop as ~const Destruct
cc https://github.com/rust-lang/rust/issues/133214#issuecomment-2838078133
r? ```@compiler-errors```
cc ```@fee1-dead```
|
|
miri: algebraic intrinsics: bring back float non-determinism
Fixes https://github.com/rust-lang/miri/issues/4289
Cc ```@bjoernager```
r? ```@oli-obk```
|
|
Add `rust.debug-assertions-tools` option
Before this PR, the two only options to configure the presence of debug assertions were the `rust.debug-assertions` and `rust.debug-assertions-std` options. The former applied to everything, and the latter allowed to override the setting just for the standard library. This combination of settings doesn't allow to enable debug assertions for the std and the compiler but not tools.
Some tools (like Cargo) are not really meant to be executed with debug assertions enabled, and in Ferrocene we hit some debug assertions in it that are exclusively meant for its test suite. We'd thus like to enable debug assertions everywhere but in tools.
This PR adds a `rust.debug-assertions-tools` setting that does exactly this.
|
|
enable msa feature for mips in codegen tests
Fix codegen unit tests for mips by enabling the msa target feature.
|
|
rm `TypeVistable` impls for `Canonical`
similar to `EarlyBinder`, you generally do not want to fold a canonical value directly without first instantiating it. In places where you do want to look into the `Canonical`, it's likely better to do so manually.
r? ```@compiler-errors```
|
|
Improve pretty-printing of braces
r? ````@petrochenkov````
|
|
lolbinarycat:docs-wrapping_offset-provenance-139008, r=RalfJung
mention provenance in the pointer::wrapping_offset docs
fixes https://github.com/rust-lang/rust/issues/139008
|
|
uses_power_alignment: wording tweaks
Slightly improves the wording introduced with https://github.com/rust-lang/rust/pull/135552.
|
|
Remove backticks from `ShouldPanic::YesWithMessage`'s `TrFailedMsg`
More legible imo
```rs
#[test]
#[should_panic = "love"]
fn foo() {
assert!(1 == 2);
}
```
Before:
```
note: panic did not contain expected string
panic message: `"assertion failed: 1 == 2"`,
expected substring: `"love"`
```
After:
```
note: panic did not contain expected string
panic message: "assertion failed: 1 == 2"
expected substring: "love"
```
Also removed the comma as `assert_eq!` / `assert_ne!` don't use one.
``@rustbot`` label +A-libtest
|