- 28 2月, 2022 13 次提交
-
-
由 Michael Goulet 提交于
-
由 Michael Goulet 提交于
-
由 bors 提交于
Rollup of 7 pull requests Successful merges: - #94396 (1 - Make more use of `let_chains`) - #94397 (Document that pre-expansion lint passes are softly deprecated) - #94399 (Add test for #79465 to prevent regression) - #94409 (avoid rebuilding bootstrap when PATH changes) - #94415 (Use the first codegen backend in the config.toml as default) - #94417 (Fix duplicated impl links) - #94420 (3 - Make more use of `let_chains`) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
-
由 bors 提交于
Apply noundef attribute to all scalar types which do not permit raw init Beyond `&`/`&mut`/`Box`, this covers `char`, enum discriminants, `NonZero*`, etc. All such types currently cause a Miri error if left uninitialized, and an `invalid_value` lint in cases like `mem::uninitialized::<char>()`. Note that this _does not_ change whether or not it is UB for `u64` (or other integer types with no invalid values) to be undef. Fixes (partially) #74378. r? `@ghost` (blocked on #94127) `@rustbot` label S-blocked
-
由 Matthias Krüger 提交于
3 - Make more use of `let_chains` Continuation of #94376. cc #53667
-
由 Matthias Krüger 提交于
Fix duplicated impl links Fixes #78701. The problem is that the blanket impl has the same ID as the other impl, except that we don't derive IDs when we generate the sidebar. We now do. r? ``@notriddle``
-
由 Matthias Krüger 提交于
Use the first codegen backend in the config.toml as default It is currently hard coded to llvm if enabled and cranelift otherwise. This made some sense when cranelift was the only alternative codegen backend. Since the introduction of the gcc backend this doesn't make much sense anymore. Before this PR bootstrapping rustc using a backend other than llvm or cranelift required changing the source of rustc_interface. With this PR it becomes a matter of putting the right backend as first enabled backend in config.toml. cc ```@antoyo```
-
由 Matthias Krüger 提交于
avoid rebuilding bootstrap when PATH changes Fixes https://github.com/rust-lang/rust/issues/94408 r? ```@Mark-Simulacrum```
-
由 Matthias Krüger 提交于
Add test for #79465 to prevent regression Fixes #79465. Like this we will be able to close the issue. r? ````@matthiaskrgr````
-
由 Matthias Krüger 提交于
Document that pre-expansion lint passes are softly deprecated The pre-expansion lint pass has been softly deprecated since https://github.com/rust-lang/rust/pull/69838. Every once in a while I see someone mention it as a possibility, only get the feedback that it's deprecated. This PR officially documents that the method is soft deprecated to have a single point of truth for it. That's it. Have a great rest of the day
🙃 --- * See [rust#69838](https://github.com/rust-lang/rust/pull/69838) * See [rust-clippy#5518](https://github.com/rust-lang/rust-clippy/pull/5518) -
由 Matthias Krüger 提交于
1 - Make more use of `let_chains` Continuation of #94376. cc #53667
-
由 Erik Desjardins 提交于
-
由 bors 提交于
For MIRI, cfg out the swap vectorization logic from 94212 Because of #69488 the swap logic from #94212 doesn't currently work in MIRI. Copying in smaller pieces is probably much worse for its performance anyway, so it'd probably rather just use the simple path regardless. Part of #94371, though another PR will be needed for the CTFE aspect. r? `@oli-obk` cc `@RalfJung`
-
- 27 2月, 2022 22 次提交
-
-
由 Caio 提交于
Continuation of #94376. cc #53667
-
由 bors 提交于
Avoid query cache sharding code in single-threaded mode In non-parallel compilers, this is just adding needless overhead at compilation time (since there is only one shard statically anyway). This amounts to roughly ~10 seconds reduction in bootstrap time, with overall neutral (some wins, some losses) performance results. Parallel compiler performance should be largely unaffected by this PR; sharding is kept there.
-
由 bors 提交于
2 - Make more use of `let_chains` Continuation of #94376. cc #53667
-
由 Guillaume Gomez 提交于
-
由 Guillaume Gomez 提交于
-
由 bjorn3 提交于
It is currently hard coded to llvm if enabled and cranelift otherwise. This made some sense when cranelift was the only alternative codegen backend. Since the introduction of the gcc backend this doesn't make much sense anymore. Before this PR bootstrapping rustc using a backend other than llvm or cranelift required changing the source of rustc_interface. With this PR it becomes a matter of putting the right backend as first enabled backend in config.toml.
-
由 bors 提交于
rustc_trait_selection: adopt let else in more places Continuation of #89933, #91018, #91481, #93046, #93590, #94011. I have extended my clippy lint to also recognize tuple passing and match statements. The diff caused by fixing it is way above 1 thousand lines. Thus, I split it up into multiple pull requests to make reviewing easier. This PR handles rustc_trait_selection.
-
由 bors 提交于
Update dist-s390x-dist image Update to Ubuntu 20.04 and crosstool-ng 1.24.0. I've upgraded the ct-ng config and then manually reset the kernel and glibc versions to the oldest supported. Specifically, we're updating from kernel 2.6.32.68 to 2.6.32.71 and glibc 2.11.1 to 2.12.1 here. The compiler toolchain is also updated, but I don't think that's relevant for compatibility. I've also enabled LLD, so this fixes #94324. r? `@Mark-Simulacrum` cc `@uweigand`
-
由 Scott McMurray 提交于
-
由 Ralf Jung 提交于
-
由 Nikita Popov 提交于
Update to Ubuntu 20.04 and crosstool-ng 1.24.0. I've updated the ct-ng config and then manually reset the kernel and glibc versions to the oldest supported. Specifically, we're updating from kernel 2.6.32.68 to 2.6.32.71 and glibc 2.11.1 to 2.12.1 here. The compiler toolchain is also updated, but I don't think that's relevant for compatibility.
-
由 Erik Desjardins 提交于
-
由 Erik Desjardins 提交于
-
由 Erik Desjardins 提交于
-
由 bors 提交于
No branch protection metadata unless enabled Even if we emit metadata disabling branch protection, this metadata may conflict with other modules (e.g. during LTO) that have different branch protection metadata set. This is an unstable flag and feature, so ideally the flag not being specified should act as if the feature wasn't implemented in the first place. Additionally this PR also ensures we emit an error if `-Zbranch-protection` is set on targets other than the supported aarch64. For now the error is being output from codegen, but ideally it should be moved to earlier in the pipeline before stabilization.
-
由 Erik Desjardins 提交于
Beyond `&`/`&mut`/`Box`, this covers `char`, discriminants, `NonZero*`, etc. All such types currently cause a Miri error if left uninitialized, and an `invalid_value` lint in cases like `mem::uninitialized::<char>()` Note that this _does not_ change whether or not it is UB for `u64` (or other integer types with no invalid values) to be undef.
-
由 bors 提交于
Restrict query recursion in `needs_significant_drop` Overly aggressive use of the query system to improve caching lead to query cycles and consequently ICEs. This patch fixes this by restricting the use of the query system as a cache to those cases where it is definitely correct. Closes #92725 . This is essentially a revert of #90845 for the significant drop case only. The general `needs_drop` still does the same thing. The hope is that this is enough to preserve the performance improvements of that PR while fixing the ICE. Should get a perf run to verify that this is the case. cc `@cjgillot`
-
由 Erik Desjardins 提交于
This should improve performance.
-
由 Caio 提交于
Continuation of #94376. cc #53667
-
由 bors 提交于
Update Clippy r? `@Manishearth`
-
- 26 2月, 2022 5 次提交
-
-
由 Guillaume Gomez 提交于
-
由 bors 提交于
Initiate the inner usage of `let_chains` The intention here is create a strong and robust foundation for a possible future stabilization so please, do not let the lack of any external tool support prevent the merge of this PR. Besides, `let_chains` is useful by itself. cc #53667
-
由 flip1995 提交于
-
由 flip1995 提交于
-
由 bors 提交于
Suggest a float literal when dividing a floating-point type by `{integer}` closes #93829
-