about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-03-05add change-entryonur-ozkan-0/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-05move `rust.description` to `build.description`onur-ozkan-13/+22
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-04Auto merge of #135186 - camelid:const-path-multi, r=BoxyUwUbors-148/+602
mgca: Lower all const paths as `ConstArgKind::Path` When `#![feature(min_generic_const_args)]` is enabled, we now lower all const paths in generic arg position to `hir::ConstArgKind::Path`. We then lower assoc const paths to `ty::ConstKind::Unevaluated` since we can no longer use the anon const expression lowering machinery. In the process of implementing this, I factored out `hir_ty_lowering` code that is now shared between lowering assoc types and assoc consts. This PR also introduces a `#[type_const]` attribute for trait assoc consts that are allowed as const args. However, we still need to implement code to check that assoc const definitions satisfy `#[type_const]` if present (basically is it a const path or a monomorphic anon const). r? `@BoxyUwU`
2025-03-04Auto merge of #135695 - Noratrieb:elf-raw-dylib, r=bjorn3bors-207/+839
Support raw-dylib link kind on ELF raw-dylib is a link kind that allows rustc to link against a library without having any library files present. This currently only exists on Windows. rustc will take all the symbols from raw-dylib link blocks and put them in an import library, where they can then be resolved by the linker. While import libraries don't exist on ELF, it would still be convenient to have this same functionality. Not having the libraries present at build-time can be convenient for several reasons, especially cross-compilation. With raw-dylib, code linking against a library can be cross-compiled without needing to have these libraries available on the build machine. If the libc crate makes use of this, it would allow cross-compilation without having any libc available on the build machine. This is not yet possible with this implementation, at least against libc's like glibc that use symbol versioning. The raw-dylib kind could be extended with support for symbol versioning in the future. This implementation is very experimental and I have not tested it very well. I have tested it for a toy example and the lz4-sys crate, where it was able to successfully link a binary despite not having a corresponding library at build-time. I was inspired by Björn's comments in https://internals.rust-lang.org/t/bundle-zig-cc-in-rustup-by-default/22096/27 Tracking issue: #135694 r? bjorn3 try-job: aarch64-apple try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: test-various
2025-03-04mgca: Lower all const paths as `ConstArgKind::Path`Noah Lev-148/+602
When `#![feature(min_generic_const_args)]` is enabled, we now lower all const paths in generic arg position to `hir::ConstArgKind::Path`. We then lower assoc const paths to `ty::ConstKind::Unevaluated` since we can no longer use the anon const expression lowering machinery. In the process of implementing this, I factored out `hir_ty_lowering` code that is now shared between lowering assoc types and assoc consts. This PR also introduces a `#[type_const]` attribute for trait assoc consts that are allowed as const args. However, we still need to implement code to check that assoc const definitions satisfy `#[type_const]` if present (basically is it a const path or a monomorphic anon const).
2025-03-04Auto merge of #137959 - matthiaskrgr:rollup-62vjvwr, r=matthiaskrgrbors-4949/+7272
Rollup of 12 pull requests Successful merges: - #135767 (Future incompatibility warning `unsupported_fn_ptr_calling_conventions`: Also warn in dependencies) - #137852 (Remove layouting dead code for non-array SIMD types.) - #137863 (Fix pretty printing of unsafe binders) - #137882 (do not build additional stage on compiler paths) - #137894 (Revert "store ScalarPair via memset when one side is undef and the other side can be memset") - #137902 (Make `ast::TokenKind` more like `lexer::TokenKind`) - #137921 (Subtree update of `rust-analyzer`) - #137922 (A few cleanups after the removal of `cfg(not(parallel))`) - #137939 (fix order on shl impl) - #137946 (Fix docker run-local docs) - #137955 (Always allow rustdoc-json tests to contain long lines) - #137958 (triagebot.toml: Don't label `test/rustdoc-json` as A-rustdoc-search) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-03Auto merge of #137927 - matthiaskrgr:rollup-yj463ns, r=matthiaskrgrbors-410/+3606
Rollup of 9 pull requests Successful merges: - #132388 (Implement `#[cfg]` in `where` clauses) - #134900 (Fix parsing of ranges after unary operators) - #136938 (Remove `:` from `stack-protector-heuristics-effect.rs` Filecheck Pattern) - #137054 (Make phantom variance markers transparent) - #137525 (Simplify parallelization in test-float-parse) - #137618 (Skip `tidy` in pre-push hook if the user is deleting a remote branch) - #137741 (Stop using `hash_raw_entry` in `CodegenCx::const_str`) - #137849 (Revert "Remove Win SDK 10.0.26100.0 from CI") - #137862 (ensure we always print all --print options in help) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-03Rollup merge of #137958 - aDotInTheVoid:aDotInTheVoid-patch-2, r=jieyouxuMatthias Krüger-2/+2
triagebot.toml: Don't label `test/rustdoc-json` as A-rustdoc-search This happened because `test/rustdoc-js` is a prefix of `test/rustdoc-json`, and triagebot works on prefixes. Maybe this should be fixed in triagebot, but this works now. This happened on #137956 and #137955.
2025-03-03Rollup merge of #137955 - Noratrieb:rustdoc-json-long-lines, ↵Matthias Krüger-76/+17
r=aDotInTheVoid,jieyouxu Always allow rustdoc-json tests to contain long lines The rustdoc-json test syntax often requires very long lines, so the checks for long lines aren't really useful. `@aDotInTheVoid` told me she'd like this and r? jieyouxu you're gonna tell me that the implementation is terrible. at least the performance seems reasonable: 2.5s after and 2.5s before.
2025-03-03Rollup merge of #137946 - ehuss:ci-docker-readme, r=KobzolMatthias Krüger-2/+2
Fix docker run-local docs This fixes the docker run-local docs to have a valid cargo command.
2025-03-03Rollup merge of #137939 - speedy-lex:shl-fix, r=NoratriebMatthias Krüger-1/+1
fix order on shl impl this doesn't fix any bugs, it makes shl_impl_all! look more consistent with the other impl's in core/ops/bit.rs
2025-03-03Rollup merge of #137922 - Zalathar:sharded, r=SparrowLiiMatthias Krüger-74/+61
A few cleanups after the removal of `cfg(not(parallel))` I noticed a few small things that are no longer needed after the removal of `cfg(not(parallel))` in #132282. One of the later changes adjusts several imports, so viewing the changes individually is recommended. r? SparrowLii (or reroll)
2025-03-03Rollup merge of #137921 - lnicola:sync-from-ra, r=lnicolaMatthias Krüger-4153/+5956
Subtree update of `rust-analyzer` r? `@ghost`
2025-03-03Rollup merge of #137902 - nnethercote:ast-lexer-TokenKind, r=compiler-errorsMatthias Krüger-353/+396
Make `ast::TokenKind` more like `lexer::TokenKind` This is step 2 of https://github.com/rust-lang/compiler-team/issues/831. r? `@spastorino`
2025-03-03Rollup merge of #137894 - compiler-errors:no-scalar-pair-opt, r=oli-obkMatthias Krüger-116/+33
Revert "store ScalarPair via memset when one side is undef and the other side can be memset" cc #137892 reverts #135335 r? oli-obk
2025-03-03Rollup merge of #137882 - onur-ozkan:remove-extra-compiler-stage, r=KobzolMatthias Krüger-9/+44
do not build additional stage on compiler paths When calling `x build compiler (or rustc) --stage N` bootstrap builds stage N+1 compiler, which is clearly not what we requested. This doesn't happen when running `x build --stage N` without explicitly targeting the compiler. The changes applied fix this issue. r? ghost
2025-03-03Rollup merge of #137863 - compiler-errors:unsafe-binder-render, r=oli-obkMatthias Krüger-42/+121
Fix pretty printing of unsafe binders We used to render `unsafe<> i32` as `i32`, and `unsafe<'a> &'a i32` as `for<'a> &'a i32`. r? oli-obk Review with whitespace b/c adding a new argument changes some the wrapping of some function calls.
2025-03-03Rollup merge of #137852 - moulins:layout-nonarray-simd-deadcode, ↵Matthias Krüger-114/+30
r=workingjubilee Remove layouting dead code for non-array SIMD types. These aren't supported anymore, and are already rejected in type checking.
2025-03-03Rollup merge of #135767 - tdittr:fn_ptr_calling_conventions-in-deps, ↵Matthias Krüger-7/+609
r=compiler-errors Future incompatibility warning `unsupported_fn_ptr_calling_conventions`: Also warn in dependencies Tracking issue: https://github.com/rust-lang/rust/issues/130260 As discussed [in the previous PR](https://github.com/rust-lang/rust/pull/128784/files#r1752533758) now the future incompatibility warning is enabled in dependencies. The warning was added in 1.83, while this change will get into stable in 1.86, which gives crate authors three versions to fix the warning. r? compiler-errors
2025-03-03Auto merge of #137914 - matthiaskrgr:rollup-phaxe6f, r=matthiaskrgrbors-151/+266
Rollup of 6 pull requests Successful merges: - #137103 ({json|html}docck: catch and error on deprecated syntax) - #137632 (rustdoc: when merging target features, keep the highest stability) - #137684 (Add rustdoc support for `--emit=dep-info[=path]`) - #137794 (make qnx pass a test) - #137801 (tests: Unignore target modifier tests on all platforms) - #137826 (test(codegen): add looping_over_ne_bytes test for #133528) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-03triagebot.toml: Don't label `test/rustdoc-json` as A-rustdoc-searchAlona Enraght-Moony-2/+2
This happened because `test/rustdoc-js` is a prefix of `test/rustdoc-json`, and triagebot works on prefixes. Maybe this should be fixed in triagebot, but this works now.
2025-03-03Always allow rustdoc-json tests to contain long linesNoratrieb-76/+17
The rustdoc-json test syntax often requires very long lines, so the checks for long lines aren't really useful.
2025-03-03Auto merge of #137945 - Kobzol:skip-rfl, r=marcoienibors-2/+3
Skip Rust for Linux in CI temporarily Temporary fix to unblock CI.
2025-03-03Fix docker run-local docsEric Huss-2/+2
2025-03-03Skip Rust for Linux in CI temporarilyJakub Beránek-2/+3
2025-03-03Rollup merge of #137862 - mtoner23:print-help, r=nnethercoteMatthias Krüger-33/+37
ensure we always print all --print options in help Closes #137853 Refactors the PRINT_KINDS map into a public const so we always print every option for print. the list is quite long now, and idk if long term we want to keep printing all these options from --help.
2025-03-03Rollup merge of #137849 - jieyouxu:undo-workaround, r=KobzolMatthias Krüger-14/+0
Revert "Remove Win SDK 10.0.26100.0 from CI" Part of #137733. Resolves #137733. The remove-latest-windows-sdk workaround workaround should no longer be necessary, now that we bumped (1) cargo `cc` and (2) `rustc_{codegen_ssa,llvm}` `cc`. This reverts commit 25617c7e695d716d0ecb3cf2366d371441505e47, the remove-latest-windows-sdk workaround from #137753. try-job: i686-msvc-1 try-job: i686-msvc-2 try-job: dist-i686-msvc
2025-03-03Rollup merge of #137741 - cuviper:const_str-raw_entry, r=Mark-SimulacrumMatthias Krüger-31/+25
Stop using `hash_raw_entry` in `CodegenCx::const_str` That unstable feature (#56167) completed fcp-close, so the compiler needs to be migrated away to allow its removal. In this case, `cg_llvm` and `cg_gcc` were using raw entries to optimize their `const_str_cache` lookup and insertion. We can change that to separate `get` and (on miss) `insert` calls, so we still have the fast path avoiding string allocation when the cache hits.
2025-03-03Rollup merge of #137618 - yotamofek:pr/pre-push-hook, r=Mark-SimulacrumMatthias Krüger-0/+14
Skip `tidy` in pre-push hook if the user is deleting a remote branch It's kinda annoying when I'm trying to delete remote branches and that triggers `tidy`, so small fix to prevent that. Hopefully this should be an acceptable amount of complexity to add to this shell script.
2025-03-03Rollup merge of #137525 - tgross35:test-float-parse-less-parallelization, ↵Matthias Krüger-226/+174
r=Mark-Simulacrum Simplify parallelization in test-float-parse Currently, test case generators are launched in parallel and their test cases also run in parallel, all within the same pool. I originally implemented this with the assumption that there would be an advantage in parallelizing the generators themselves, but this turns out to not really have any benefit. Simplify things by running generators in series while keeping their test cases parallelized. This makes the code easier to follow, and there is no longer a need for MPSC or multiprogress bars. Additionally, the UI output can be made cleaner.
2025-03-03Rollup merge of #137054 - jhpratt:phantom-variance, r=Mark-SimulacrumMatthias Krüger-0/+12
Make phantom variance markers transparent
2025-03-03Rollup merge of #136938 - mustartt:fix-stack-protector-filecheck, ↵Matthias Krüger-16/+16
r=Mark-Simulacrum Remove `:` from `stack-protector-heuristics-effect.rs` Filecheck Pattern With function sections, the assembly label does not necessarily end in `:`. Remove trailing `:` to be more consistent with the rest of the existing Filecheck patterns. ``` // CHECK-LABEL: local_string_addr_taken #[no_mangle] pub fn local_string_addr_taken(f: fn(&String)) { let x = String::new(); f(&x); ```
2025-03-03Rollup merge of #134900 - dtolnay:unoprange, r=compiler-errors,davidtwcoMatthias Krüger-2/+32
Fix parsing of ranges after unary operators Fixes https://github.com/rust-lang/rust/issues/134899. This PR aligns the parsing for unary `!` and `-` and `*` with how unary `&` is already parsed [here](https://github.com/rust-lang/rust/blob/5c0a6e68cfdad859615c2888de76505f13e6f01b/compiler/rustc_parse/src/parser/expr.rs#L848-L854).
2025-03-03Rollup merge of #132388 - frank-king:feature/where-cfg, r=petrochenkovMatthias Krüger-88/+3296
Implement `#[cfg]` in `where` clauses This PR implements #115590, which supports `#[cfg]` attributes in `where` clauses. The biggest change is, that it adds `AttrsVec` and `NodeId` to the `ast::WherePredicate` and `HirId` to the `hir::WherePredicate`.
2025-03-03Tidy imports in `rustc_data_structures::sync`Zalathar-27/+30
2025-03-03Remove some unnecessary aliases from `rustc_data_structures::sync`Zalathar-39/+23
With the removal of `cfg(parallel_compiler)`, these are always shared references and `std::sync::OnceLock`.
2025-03-03fix order on shl implSpeedy_Lex-1/+1
this doesn't fix any bugs, it just looks more consistent with the other impl's
2025-03-03Bless UI testsTamme Dittrich-54/+54
2025-03-03Change variadic-ffi-2 to use a platform independant ABITamme Dittrich-17/+4
Otherwise this test will include a future incompatibility warning on some targets but not others.
2025-03-03Bless UI testsTamme Dittrich-1/+616
2025-03-03After introducing the warning in 1.83, now also warn in depsTamme Dittrich-1/+1
This was left to only warn in the current crate to give users a chance to update their code. Now for 1.86 we also warn users depending on those crates.
2025-03-03Remove leading underscores from parameter names in `Sharded`Zalathar-8/+8
With the removal of `cfg(parallel_compiler)`, these parameters are never considered unused.
2025-03-03Merge pull request #19269 from lnicola/sync-from-rustLaurențiu Nicola-30117/+53328
minor: sync from downstream
2025-03-03Bump rustc cratesLaurențiu Nicola-20/+20
2025-03-03Merge from rust-lang/rustLaurențiu Nicola-30096/+53307
2025-03-03Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2025-03-03Rollup merge of #137826 - karolzwolak:looping_over_ne_bytes_133528, r=DianQKMatthias Krüger-0/+17
test(codegen): add looping_over_ne_bytes test for #133528 Adds test for #133528. I renamed the function to `looping_over_ne_bytes` to better reflect that it is doing. I also set the min llvm version to 20 as this was presumably a llvm bug that was fixed in version 20. I didn't tie the test to any specific architecture, as we are testing llvm output.
2025-03-03Rollup merge of #137801 - petrochenkov:tarmod, r=compiler-errorsMatthias Krüger-104/+43
tests: Unignore target modifier tests on all platforms These tests can be `check-pass` and do not need dynamic libraries. Also remove other unnecessary stuff from them. Follow up to https://github.com/rust-lang/rust/pull/133138.
2025-03-03Rollup merge of #137794 - tshepang:make-qnx-pass, r=pietroalbiniMatthias Krüger-4/+5
make qnx pass a test [tests/ui/attributes/used_with_archive.rs](https://github.com/rust-lang/rust/blob/b2024300840c3ef94a97273531bdb37d56d50fb5/tests/ui/attributes/used_with_archive.rs) fails when executed for QNX targets, because its stdout does not match [this content](https://github.com/rust-lang/rust/blob/b2024300840c3ef94a97273531bdb37d56d50fb5/tests/ui/attributes/used_with_archive.run.stdout)
2025-03-03Rollup merge of #137684 - GuillaumeGomez:rustdoc-dep-info, r=notriddleMatthias Krüger-16/+87
Add rustdoc support for `--emit=dep-info[=path]` Fixes #91982. This PR adds the `--emit=dep-info` command line flag support. It will be helpful for `cargo` development. cc ````@epage```` r? ````@notriddle````