about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2024-11-29Auto merge of #133619 - matthiaskrgr:rollup-7ywaheb, r=matthiaskrgrbors-60/+31
Rollup of 7 pull requests Successful merges: - #132782 (improvements on initial sysroot and libdir finding logics) - #133466 (Fix typos in pin.rs) - #133492 (bootstrap: allow skipping steps with start of path) - #133501 (support revealing defined opaque post borrowck) - #133530 (Use consistent wording in docs, use is zero instead of is 0) - #133538 (Better diagnostic for fn items in variadic functions) - #133590 (Rename `-Zparse-only`) r? `@ghost` `@rustbot` modify labels: rollup
2024-11-29Rollup merge of #133501 - lcnr:post-borrowck-analysis, r=compiler-errorsMatthias Krüger-1/+2
support revealing defined opaque post borrowck By adding a new `TypingMode::PostBorrowckAnalysis`. Currently only supported with the new solver and I didn't look into the way we replace `ReErased`. ``@compiler-errors`` mentioned that always using existentials may be unsound. r? ``@compiler-errors``
2024-11-29Rollup merge of #133492 - MarcoIeni:bootstrap-path-check, r=onur-ozkanMatthias Krüger-5/+5
bootstrap: allow skipping steps with start of path
2024-11-29Rollup merge of #132782 - onur-ozkan:cleanup, r=jieyouxuMatthias Krüger-54/+24
improvements on initial sysroot and libdir finding logics Stabilized initial sysroot and libdir path resolution logic to work without dry-run conditions and utilized initial sysroot more broadly.
2024-11-29Auto merge of #133431 - nnethercote:rm-HybridBitSet, r=Mark-Simulacrumbors-10/+10
Remove `HybridBitSet` `HybridBitSet` was introduced under the name `HybridIdxSetBuf` way back in #53383 where it was a big win for NLL borrow checker performance. In #93984 the more flexible `ChunkedBitSet` was added. Uses of `HybridBitSet` have gradually disappeared (e.g. #116152) and there are now few enough that they can be replaced with `BitSet` or `ChunkedBitSet`, and `HybridBitSet` can be removed, cutting more than 700 lines of code. r? `@Mark-Simulacrum`
2024-11-29Stop using `HybridBitSet` in clippy.Nicholas Nethercote-10/+10
The compiler uses `BitSet<Local>`, because the number of locals doesn't get that high, so clippy should do likewise.
2024-11-29Update `//@ proc-macro` aux build directive docs (#2149)许杰友 Jieyou Xu (Joe)-25/+46
Co-authored-by: Eric Huss <eric@huss.org>
2024-11-28add instructions for generating `flake.lock` to `envrc-flake`Maybe Lapkin-1/+1
Previous setup instructions did not work without. (i.e. the envrc would not do anything, `nix flake show..` would provide unhelpful error)
2024-11-28Do not emit `missing_doc_code_examples` rustdoc lint on module and a few ↵Guillaume Gomez-2/+9
other items
2024-11-28Auto merge of #133540 - ehuss:compiletest-proc-macro, r=jieyouxubors-23/+66
Compiletest: add proc-macro header This adds a `proc-macro` header to simplify using proc-macros, and to reduce boilerplate. This header works similar to the `aux-build` header where you pass a path for a proc-macro to be built. This allows the `force-host`, `no-prefer-dynamic` headers, and `crate_type` attribute to be removed. Additionally it uses `--extern` like `aux_crate` (allows implicit `extern crate` in 2018) and `--extern proc_macro` (to place in the prelude in 2018). ~~This also includes a secondary change which defaults the edition of proc-macros to 2024. This further reduces boilerplate (removing `extern crate proc_macro;`), and allows using modern Rust syntax. I was a little on the fence including this. I personally prefer it, but I can imagine it might be confusing to others.~~ EDIT: Removed Some tests were changed so that when there is a chain of dependencies A→B→C, that the `@ proc-macro` is placed in `B` instead of `A` so that the `--extern` flag works correctly (previously it depended on `-L` to find `C`). I think this is better to make the dependencies more explicit. None of these tests looked like the were actually testing this behavior. There is one test that had an unexplained output change: `tests/ui/macros/same-sequence-span.rs`. I do not know why it changed, but it didn't look like it was particularly important. Perhaps there was a normalization issue? This is currently not compatible with the rustdoc `build-aux-docs` header. It can probably be fixed, I'm just not feeling motivated to do that right now. ### Implementation steps - [x] Document this new behavior in rustc-dev-guide once we figure out the specifics. https://github.com/rust-lang/rustc-dev-guide/pull/2149
2024-11-28Merge commit 'ff4a26d442bead94a4c96fb1de967374bc4fbd8e' into ↵Philipp Krones-647/+1958
clippy-subtree-update
2024-11-29Support floats in input/output in vector registers of PowerPC inline assemblyTaiki Endo-1/+1
2024-11-28Implement lint against `Symbol::intern` on a string literalclubby789-0/+9
2024-11-28Document s390x machine access via community cloudUlrich Weigand-0/+16
2024-11-29Support #[repr(simd)] types in input/output of PowerPC inline assemblyTaiki Endo-2/+4
2024-11-28force expanded formatting for non-synthetic typesWalnut-0/+1
2024-11-28Merge from rust-lang/rustLaurențiu Nicola-63/+49
2024-11-28Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2024-11-28Auto merge of #133568 - GuillaumeGomez:rollup-js22ovb, r=GuillaumeGomezbors-0/+2
Rollup of 7 pull requests Successful merges: - #133358 (Don't type error if we fail to coerce `Pin<T>` because it doesnt contain a ref) - #133422 (Fix clobber_abi in RV32E and RV64E inline assembly) - #133452 (Support predicate registers (clobber-only) in Hexagon inline assembly) - #133463 (Fix handling of x18 in AArch64 inline assembly on ohos/trusty or with -Zfixed-x18) - #133487 (fix confusing diagnostic for reserved `##`) - #133557 (Small doc fixes in `rustc_codegen_ssa`) - #133560 (Trim extra space in 'repeated `mut`' diagnostic) r? `@ghost` `@rustbot` modify labels: rollup
2024-11-28Rollup merge of #133452 - taiki-e:hexagon-asm-pred, r=AmanieuGuillaume Gomez-0/+2
Support predicate registers (clobber-only) in Hexagon inline assembly The result of the Hexagon instructions such as comparison, store conditional, etc. is stored in predicate registers (`p[0-3]`), but currently there is no way to mark it as clobbered in `asm!`. This is also needed for `clobber_abi` (although implementing `clobber_abi` will require the addition of support for [several more register classes](https://github.com/llvm/llvm-project/blob/llvmorg-19.1.0/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp#L71-L90). see also https://github.com/rust-lang/rust/issues/93335#issuecomment-2395210055). Refs: - [Section 6 "Conditional Execution" in Qualcomm Hexagon V73 Programmer’s Reference Manual](https://docs.qualcomm.com/bundle/publicresource/80-N2040-53_REV_AB_Qualcomm_Hexagon_V73_Programmers_Reference_Manual.pdf#page=90) - [Register definition in LLVM](https://github.com/llvm/llvm-project/blob/llvmorg-19.1.0/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td#L155) cc `@androm3da` (target maintainer of hexagon-unknown-{[none-elf](https://doc.rust-lang.org/nightly/rustc/platform-support/hexagon-unknown-none-elf.html#target-maintainers),[linux-musl](https://doc.rust-lang.org/nightly/rustc/platform-support/hexagon-unknown-linux-musl.html#target-maintainers)}) r? `@Amanieu` `@rustbot` label +A-inline-assembly (Currently there is no O-hexagon label...)
2024-11-28remove ctrlc, unusedklensy-30/+0
2024-11-28uplift fold_regions to rustc_type_irlcnr-1/+2
2024-11-28bootstrap: allow skipping steps with start of pathMarcoIeni-5/+5
2024-11-28chore: fix 404 status URLlongxiangqiao-1/+1
Signed-off-by: longxiangqiao <longxiangqiao@qq.com>
2024-11-28Fix proc macro testLaurențiu Nicola-0/+1
2024-11-28silence clippyRalf Jung-0/+1
2024-11-28Bump rustc cratesLaurențiu Nicola-17/+17
2024-11-28Merge from rust-lang/rustLaurențiu Nicola-5949/+14975
2024-11-28Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2024-11-28fmtThe Miri Cronjob Bot-1/+2
2024-11-28Merge from rustcThe Miri Cronjob Bot-660/+1096
2024-11-28Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-11-28Bump unsupported `ubuntu` CI images to 24.04 LTSrami3l-5/+6
2024-11-28Auto merge of #133561 - GuillaumeGomez:rollup-g4upmv4, r=GuillaumeGomezbors-341/+330
Rollup of 12 pull requests Successful merges: - #129409 (Expand std::os::unix::fs::chown() doc with a warning) - #133320 (Add release notes for Rust 1.83.0) - #133368 (Delay a bug when encountering an impl with unconstrained generics in `codegen_select`) - #133428 (Actually use placeholder regions for trait method late bound regions in `collect_return_position_impl_trait_in_trait_tys`) - #133512 (Add `as_array` and `as_mut_array` conversion methods to slices.) - #133519 (Check `xform_ret_ty` for WF in the new solver to improve method winnowing) - #133520 (Structurally resolve before applying projection in borrowck) - #133534 (extend group-forbid-always-trumps-cli test) - #133537 ([rustdoc] Fix new clippy lints) - #133543 ([AIX] create shim for lgammaf_r) - #133547 (rustc_span: Replace a `HashMap<_, ()>` with `HashSet`) - #133550 (print generated doc paths) r? `@ghost` `@rustbot` modify labels: rollup
2024-11-28Rollup merge of #133550 - onur-ozkan:doc-log, r=jieyouxuGuillaume Gomez-1/+5
print generated doc paths Resolves #133002
2024-11-28Fix new clippy lintsGuillaume Gomez-340/+325
2024-11-28Remove `pretty-expanded` as it no longer exists (#2147)许杰友 Jieyou Xu (Joe)-14/+0
2024-11-27Fix trivial typoKeith Wansbrough-1/+1
"And" should be "An" - one instance.
2024-11-27Rollup merge of #132410 - bjorn3:yet_another_driver_refactor_round, r=cjgillotMatthias Krüger-44/+38
Some more refactorings towards removing driver queries Follow up to https://github.com/rust-lang/rust/pull/127184 ## Custom driver breaking change The `after_analysis` callback is changed to accept `TyCtxt` instead of `Queries`. The only safe query in `Queries` to call at this point is `global_ctxt()` which allows you to enter the `TyCtxt` either way. To fix your custom driver, replace the `queries: &'tcx Queries<'tcx>` argument with `tcx: TyCtxt<'tcx>` and remove your `queries.global_ctxt().unwrap().enter(|tcx| { ... })` call and only keep the contents of the closure. ## Custom driver deprecation The `after_crate_root_parsing` callback is now deprecated. Several custom drivers are incorrectly calling `queries.global_ctxt()` from inside of it, which causes some driver code to be skipped. As such I would like to either remove it in the future or if custom drivers still need it, change it to accept an `&rustc_ast::Crate` instead.
2024-11-27Stabilize `extended_varargs_abi_support`Soveu-10/+0
2024-11-27print generated doc pathsonur-ozkan-1/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-27clippy lintsBoxy-23/+16
2024-11-27update cfgsBoxy-5/+0
2024-11-27Compiletest: Add proc-macro headerEric Huss-23/+66
This adds a proc-macro header to make it easier to depend on a proc-macro, and remove some of the boilerplate necessary.
2024-11-27bump stage0Boxy-450/+450
2024-11-27Remove -Zfuel. (#2032)Camille Gillot-23/+0
2024-11-27Rollup merge of #133457 - joboet:miri-tlsfree, r=saethlinMatthias Krüger-0/+26
miri: implement `TlsFree` If the variable does not need a destructor, `std` uses racy initialization for creating TLS keys on Windows. With just the right timing, this can lead to `TlsFree` being called. Unfortunately, with #132654 this is hit quite often, so miri should definitely support `TlsFree` ([documentation](https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-tlsfree)). I'm filing this here instead of in the miri repo so that #132654 isn't blocked for so long.
2024-11-27Rollup merge of #133453 - ferrocene:check-license-metadata, r=KobzolMatthias Krüger-16/+75
Commit license-metadata.json to git and check it's correct in CI This PR adds `license-metadata.json` to the root of the git repo, and changes `mingw-check` to check that the file is still up-to-date. By committing this file, we remove the need for developers to a) have reuse installed or b) run an expensive ~90 second analysis of the files on disk when they want generate the COPYRIGHT.html files which depend on this license metadata. The file will need updating whenever `REUSE.toml` changes, or when git submodules are added, or when git submodules change their license information (as detected by REUSE). You can now run: * `./x run collect-license-metadata` to update the `./license-metadata.json` file * `./x test collect-license-metadata` to test the `./license-metadata.json` file for correctness The comparison is done with two `serde_json::Value` objects, so the map objects they contain should ignore differences in ordering.
2024-11-27Rollup merge of #133248 - MarcoIeni:x86_64-msvc-ext-free, r=KobzolMatthias Krüger-6/+14
CI: split x86_64-msvc-ext job try-job: x86_64-msvc-ext1 try-job: x86_64-msvc-ext3
2024-11-27Rollup merge of #132979 - onur-ozkan:skip-exact, r=jieyouxu,tgross35Matthias Krüger-8/+3
use `--exact` on `--skip` to avoid unintended substring matches Without the `--exact` flag, using `--skip tests/rustdoc` can unintentionally skip other tests that match as substrings such as `rustdoc-gui`, `rustdoc-js`, etc. For debugging, run: `./x.py --stage 2 test rustdoc-ui --skip tests/rustdoc` and `./x.py --stage 2 test rustdoc-ui --skip tests/rustdoc -- --exact` Resolves https://github.com/rust-lang/rust/issues/117721 try-job: x86_64-apple-1