about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2024-09-23Auto merge of #125645 - RalfJung:unclear_local_imports, r=nnethercotebors-53/+230
add unqualified_local_imports lint This lint helps deal with https://github.com/rust-lang/rustfmt/issues/4709 by having the compiler detect imports of local items that are not syntactically distinguishable from imports from other cates. Making them syntactically distinguishable ensures rustfmt can consistently apply the desired import grouping.
2024-09-23Auto merge of #130755 - workingjubilee:rollup-zpja9b3, r=workingjubileebors-565/+948
Rollup of 7 pull requests Successful merges: - #129201 (std: implement the `random` feature (alternative version)) - #130536 (bootstrap: Set the dylib path when building books with rustdoc) - #130551 (Fix `break_last_token`.) - #130657 (Remove x86_64-fuchsia and aarch64-fuchsia target aliases) - #130721 (Add more test cases for block-no-opening-brace) - #130736 (Add rustfmt 2024 reformatting to git blame ignore) - #130746 (readd `@tgross35` and `@joboet` to the review rotation) r? `@ghost` `@rustbot` modify labels: rollup
2024-09-23Rollup merge of #130746 - joboet:hello_again, r=joboetJubilee-2/+0
readd @tgross35 and @joboet to the review rotation We're both (nearly) back from vacation. CC ``@tgross35``
2024-09-23Rollup merge of #130736 - Kobzol:rustfmt-2024-git-blame, r=compiler-errorsJubilee-0/+2
Add rustfmt 2024 reformatting to git blame ignore https://github.com/rust-lang/rust/pull/130724 essentially reformatted the world, so we should add it to the git blame ignore list. Tested with `git blame compiler/rustc_abi/src/lib.rs -L1137,1146`. I first thought that I have to ignore the merge commit, but it seems like the actual commit that did the reformatting should be ignored instead. r? ``@compiler-errors``
2024-09-23Rollup merge of #130721 - GrigorenkoPV:block-no-opening-brace, r=jieyouxuJubilee-12/+48
Add more test cases for block-no-opening-brace Also add FIXME's for #80931 & #78168
2024-09-23Rollup merge of #130657 - arttet:fix/fuchsia, r=jieyouxuJubilee-14/+0
Remove x86_64-fuchsia and aarch64-fuchsia target aliases Closes #106649.
2024-09-23Rollup merge of #130551 - nnethercote:fix-break-last-token, r=petrochenkovJubilee-64/+91
Fix `break_last_token`. It currently doesn't handle the three-char tokens `>>=` and `<<=` correctly. These can be broken twice, resulting in three individual tokens. This is a latent bug that currently doesn't cause any problems, but does cause problems for #124141, because that PR increases the usage of lazy token streams. r? `@petrochenkov`
2024-09-23Rollup merge of #130536 - cuviper:rustbook-dylib-path, r=Mark-SimulacrumJubilee-9/+11
bootstrap: Set the dylib path when building books with rustdoc The library path is needed when the toolchain has been configured with `[rust] rpath = false`. Otherwise, building the reference book will get an error when it tries to run rustdoc, like: rustdoc: error while loading shared libraries: librustc_driver-2ec457c3b8826b72.so
2024-09-23Rollup merge of #129201 - joboet:random_faster_sources, r=joshtriplettJubilee-464/+796
std: implement the `random` feature (alternative version) Implements the ACP rust-lang/libs-team#393. This PR is an alternative version of #129120 that replaces `getentropy` with `CCRandomGenerateBytes` (on macOS) and `arc4random_buf` (other BSDs), since that function is not suited for generating large amounts of data and should only be used to seed other CPRNGs. `CCRandomGenerateBytes`/`arc4random_buf` on the other hand is (on modern platforms) just as secure and uses its own, very strong CPRNG (ChaCha20 on the BSDs, AES on macOS) periodically seeded with `getentropy`.
2024-09-23Auto merge of #130716 - bjorn3:sync_cg_clif-2024-09-22, r=bjorn3bors-337/+479
Subtree sync for rustc_codegen_cranelift The main highlight this time is a fix for a miscompilation of RwLock on macOS. Also a Cranelift update and a couple of extra vendor intrinsics on arm64. r? `@ghost` `@rustbot` label +A-codegen +A-cranelift +T-compiler
2024-09-23readd @tgross35 and @joboet to the review rotationjoboet-2/+0
2024-09-23Rustfmtbjorn3-8/+5
2024-09-23Revert change to apply_patches to fix panicbjorn3-1/+6
2024-09-23Merge commit '6d35b4c9a04580366fd800692a5b5db79d766530' into ↵bjorn3-347/+487
sync_cg_clif-2024-09-22
2024-09-23Rustup to rustc 1.83.0-nightly (6c6d21008 2024-09-22)bjorn3-1/+1
2024-09-23Merge branch 'sync_from_rust'bjorn3-99/+80
2024-09-23Auto merge of #130641 - cuviper:llvm-19.1.0, r=nikicbors-1/+1
Update to LLVM 19.1.0 This is a branch rebase of the submodule, now that LLVM 19.1.0 is final. Our *only* extra patch right now is the one we're carrying for SGX unwind.
2024-09-23fix unqualified_local_imports in rustc_const_evalRalf Jung-8/+11
2024-09-23fix unqualified_local_imports in MiriRalf Jung-45/+47
2024-09-23add unqualified_local_imports lintRalf Jung-0/+172
2024-09-23update miri testjoboet-1/+1
2024-09-23random: add tracking issue, address other commentsjoboet-14/+19
2024-09-23miri: shim `CCRandomGenerateBytes`joboet-0/+17
2024-09-23std: switch to faster random sources on macOS and most BSDsjoboet-102/+90
2024-09-23std: implement the `random` featurejoboet-464/+786
Implements the ACP https://github.com/rust-lang/libs-team/issues/393.
2024-09-23Add rustfmt 2024 reformatting to git blame ignoreJakub Beránek-0/+2
2024-09-23Auto merge of #129047 - DianQK:early_otherwise_branch_scalar, r=cjgillotbors-85/+422
Apply `EarlyOtherwiseBranch` to scalar value In the future, I'm thinking of hoisting discriminant via GVN so that we only need to write very little code here. r? `@cjgillot`
2024-09-23Auto merge of #130732 - matthiaskrgr:rollup-ke1j314, r=matthiaskrgrbors-800/+522
Rollup of 10 pull requests Successful merges: - #129550 (Add str.as_str() for easy Deref to string slices) - #130344 (Handle unsized consts with type `str` in v0 symbol mangling) - #130659 (Support `char::encode_utf16` in const scenarios.) - #130705 (No longer mark RTN as incomplete) - #130712 (Don't call `ty::Const::normalize` in error reporting) - #130713 (Mark `u8::make_ascii_uppercase` and `u8::make_ascii_lowercase` as const.) - #130714 (Introduce `structurally_normalize_const`, use it in `rustc_hir_typeck`) - #130715 (Replace calls to `ty::Const::{try_}eval` in mir build/pattern analysis) - #130723 (Add test for `available_parallelism()`) - #130726 (tests: Remove spuriously failing vec-tryinto-array codegen test) r? `@ghost` `@rustbot` modify labels: rollup
2024-09-23Rollup merge of #130726 - workingjubilee:put-the-spurs-to-this-test, r=BoxyUwUMatthias Krüger-22/+0
tests: Remove spuriously failing vec-tryinto-array codegen test This has failed more than a couple of times now. It costs real time, money, and energy to deal with this, far more than this test is saving us.
2024-09-23Rollup merge of #130723 - D0liphin:master, r=workingjubileeMatthias Krüger-0/+18
Add test for `available_parallelism()` This is a redo of [this PR](https://github.com/rust-lang/rust/pull/104095). I changed the location of the test as per comments in the original thread. Otherwise the test is practically the same. try-job: test-various
2024-09-23Rollup merge of #130715 - compiler-errors:mir-build-const-eval, r=BoxyUwUMatthias Krüger-7/+17
Replace calls to `ty::Const::{try_}eval` in mir build/pattern analysis We normalize consts in writeback: #130645. This means that consts are gonna be as normalized as they're ever gonna get in MIR building and pattern analysis. Therefore we can just use `try_to_target_usize` rather than calling `eval_target_usize`. Regarding the `.expect` calls, I'm not totally certain whether they're correct given rigid unevaluated consts. But this PR shouldn't make *more* ICEs occur; we may have to squash these ICEs when mGCE comes around, tho 😺
2024-09-23Rollup merge of #130714 - compiler-errors:try-structurally-resolve-const, ↵Matthias Krüger-39/+122
r=BoxyUwU Introduce `structurally_normalize_const`, use it in `rustc_hir_typeck` Introduces `structurally_normalize_const` to typecking to separate the "eval a const" step from the "try to turn a valtree into a target usize" in HIR typeck, where we may still have infer vars and stuff around. I also changed `check_expr_repeat` to move a double evaluation of a const into a single one. I'll leave inline comments. r? ```@BoxyUwU``` I hesitated to really test this on the new solver where it probably matters for unevaluated consts. If you're worried about the side-effects, I'd be happy to craft some more tests 😄
2024-09-23Rollup merge of #130713 - bjoernager:const-char-make-ascii, r=NoratriebMatthias Krüger-4/+6
Mark `u8::make_ascii_uppercase` and `u8::make_ascii_lowercase` as const. Relevant tracking issue: #130698 This PR extends #130697 by also marking the `make_ascii_uppercase` and `make_ascii_lowercase` methods in `u8` as const. The `const_char_make_ascii` feature gate is additionally renamed to `const_make_ascii`.
2024-09-23Rollup merge of #130712 - compiler-errors:const-eval-error-reporting, r=BoxyUwUMatthias Krüger-179/+178
Don't call `ty::Const::normalize` in error reporting We do this to ensure that trait refs with unevaluated consts have those consts simplified to their evaluated forms. Instead, use `try_normalize_erasing_regions`. **NOTE:** This has the side-effect of erasing regions from all of our trait refs. If this is too much to review or you think it's too opinionated of a diagnostics change, then I could split out the effective change (i.e. erasing regions from this impl suggestion) into another PR and have someone else review it.
2024-09-23Rollup merge of #130705 - compiler-errors:rtn-complete, r=jackh726Matthias Krüger-430/+77
No longer mark RTN as incomplete The RFC is accepted and the feature is basically fully implemented. This doesn't mean it's necesarily *ready* for stabiliation; there's probably some diagnostic improvements to be made, and as always, users uncover the most creative bugs. But marking this feature as incomplete no longer serves any purpose, so let's fix that.
2024-09-23Rollup merge of #130659 - bjoernager:const-char-encode-utf16, r=dtolnayMatthias Krüger-25/+36
Support `char::encode_utf16` in const scenarios. Relevant tracking issue: #130660 The method `char::encode_utf16` should be marked "const" to allow compile-time conversions. This PR additionally rewrites the `encode_utf16_raw` function for better readability whilst also reducing the amount of unsafe code. try-job: x86_64-msvc
2024-09-23Rollup merge of #130344 - Jaic1:fix-116306, r=BoxyUwUMatthias Krüger-32/+51
Handle unsized consts with type `str` in v0 symbol mangling This PR fixes #116303 by handling consts with type `str` in v0 symbol mangling as partial support for unsized consts. This PR is related to `#![feature(adt_const_params)]` (#95174) and `#![feature(unsized_const_params)]` (#128028). r? ``@BoxyUwU``
2024-09-23Rollup merge of #129550 - kornelski:boxasstr, r=joshtriplett,dtolnayMatthias Krüger-62/+17
Add str.as_str() for easy Deref to string slices Working with `Box<str>` is cumbersome, because in places like `iter.filter()` it can end up being `&Box<str>` or even `&&Box<str>`, and such type doesn't always get auto-dereferenced as expected. Dereferencing such box to `&str` requires ugly syntax like `&**boxed_str` or `&***boxed_str`, with the exact amount of `*`s. `Box<str>` is [not easily comparable with other string types](https://github.com/rust-lang/rust/pull/129852) via `PartialEq`. `Box<str>` won't work for lookups in types like `HashSet<String>`, because `Borrow<String>` won't take types like `&Box<str>`. OTOH `set.contains(s.as_str())` works nicely regardless of levels of indirection. `String` has a simple solution for this: the `as_str()` method, and `Box<str>` should too.
2024-09-23Auto merge of #130724 - compiler-errors:bump, r=Mark-Simulacrumbors-8848/+7616
Bump stage0 to beta-2024-09-22 and rustfmt to nightly-2024-09-22 I'm doing this to apply the changes to version sorting (https://github.com/rust-lang/rustfmt/pull/6284) that have occurred since rustfmt last upgraded (and a few other miscellaneous changes, like changes to expression overflowing: https://github.com/rust-lang/rustfmt/pull/6260). Eagerly updating rustfmt and formatting-the-world will ideally move some of the pressure off of the beta bump which will happen at the beginning of the next release cycle. You can verify this is correct by checking out the changes, reverting the last commit, reapplying them, and diffing the changes: ``` git fetch git@github.com:compiler-errors/rust.git bump git checkout -b bump FETCH_HEAD git reset --hard HEAD~5 ./x.py fmt --all git diff FETCH_HEAD # ignore the changes to stage0, and rustfmt.toml, # and test file changes in rustdoc-js-std, run-make. ``` Or just take my word for it? Up to the reviewer. r? release
2024-09-22Fix hard-coded stderr in run-make testMichael Goulet-6/+6
2024-09-22Bless rustdoc-js-std testMichael Goulet-5/+5
2024-09-22tests: Remove spuriously failing vec-tryinto-array codegen testJubilee Young-22/+0
2024-09-23Fix `break_last_token`.Nicholas Nethercote-64/+91
It currently doesn't handle the three-char tokens `>>=` and `<<=` correctly. These can be broken twice, resulting in three individual tokens. This is a latent bug that currently doesn't cause any problems, but does cause problems for #124141, because that PR increases the usage of lazy token streams.
2024-09-22Auto merge of #130680 - saethlin:module-name-to-str, r=jieyouxubors-1/+1
Call module_name_to_str instead of just unwrapping This makes the ICE message in https://github.com/rust-lang/rust/issues/130678 more clear. It looks like not calling this function was just an oversight in https://github.com/rust-lang/rust/pull/76859, but clearly not a major one because it's taken us 4 years to notice. try-job: i686-msvc
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-99/+77
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-8386/+7154
2024-09-22Use style_edition over versionMichael Goulet-1/+1
2024-09-22Bump stage0Michael Goulet-450/+450
2024-09-22Add test for `available_parallelism()`Oli Iliffe-0/+18
This is a redo of (this PR)[https://github.com/rust-lang/rust/pull/104095]. Add test for available_parallelism Add test for available_parallelism Add test for Add test for
2024-09-22Add more test cases for block-no-opening-bracePavel Grigorenko-12/+48