about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-02-17Bump rustc cratesLaurențiu Nicola-5/+5
2025-02-17Default to the medium code model for the loongarch64-linux toolchainsWANG Rui-0/+4
The medium code model is already the default on the Rust side. Make sure that linked in C objects (e.g. from glibc) also use medium code model.
2025-02-17Changed `.display()` to `.to_str()`Jakub Beránek-1/+1
2025-02-17Trim channelJakub Beránek-1/+3
To avoid including a newline at the end, which broke `only_on_channel` comparison.
2025-02-17Trim try-job namesJakub Beránek-1/+1
2025-02-17Avoid double serialization of environment stringsJakub Beránek-21/+16
2025-02-17Add testsJakub Beránek-39/+324
2025-02-17Add comment to [workspace]Jakub Beránek-0/+3
2025-02-17Apply review commentsJakub Beránek-2/+7
2025-02-17Update documentationJakub Beránek-7/+16
2025-02-17Delete the previous Python scriptJakub Beránek-318/+0
2025-02-17Add local job execution to `citool`Jakub Beránek-0/+82
2025-02-17Add missing base-job directiveJakub Beránek-0/+2
2025-02-17Implement CI tooling in RustJakub Beránek-0/+653
2025-02-17Merge pull request #19167 from ChayimFriedman2/fix-ref-patLukas Wirth-17/+64
fix: Fix detection of ref patterns for path patterns
2025-02-17Merge from rust-lang/rustLaurențiu Nicola-3022/+5621
2025-02-17Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2025-02-17Auto merge of #137164 - matthiaskrgr:rollup-dj5826k, r=matthiaskrgrbors-5/+19
Rollup of 7 pull requests Successful merges: - #137095 (Replace some u64 hashes with Hash64) - #137100 (HIR analysis: Remove unnecessary abstraction over list of clauses) - #137105 (Restrict DerefPure for Cow<T> impl to T = impl Clone, [impl Clone], str.) - #137120 (Enable `relative-path-include-bytes-132203` rustdoc-ui test on Windows) - #137125 (Re-add missing empty lines in the releases notes) - #137145 (use add-core-stubs / minicore for a few more tests) - #137149 (Remove SSE ABI from i586-pc-windows-msvc) r? `@ghost` `@rustbot` modify labels: rollup
2025-02-17allow configuring jemalloc per targetPietro Albini-3/+18
2025-02-17generate-copyright: pass the vendored sources from bootstrapPietro Albini-52/+41
2025-02-17Fix detection of ref patterns for path patternsChayim Refael Friedman-17/+64
I was wrong on #19127, I thought hir-def resolver is enough for them, but it turns out not because of paths like `<Enum>::Variant` and `Type::AssocThatIsEnum::Variant`.
2025-02-17Merge pull request #19158 from PoignardAzur/expaned_pub_glob_importsLukas Wirth-92/+297
Implement expand_glob_reexport assist
2025-02-17CI: rfl: move job forward to Linux v6.14-rc3Miguel Ojeda-2/+2
Linux v6.14-rc3 contains commit 6273a058383e ("x86: rust: set rustc-abi=x86-softfloat on rustc>=1.86.0"), which resolves the error from https://github.com/rust-lang/rust/pull/136146. Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2025-02-17Merge pull request #19122 from Austaras/masterLukas Wirth-20/+37
pass struct fields to chalk
2025-02-17Update default loongarch code model in docsNikita Popov-1/+1
Since https://github.com/rust-lang/rust/pull/130266 loongarch defaults to medium code model.
2025-02-17Merge pull request #19127 from ChayimFriedman2/different-generic-argsLukas Wirth-1144/+1222
feat: Refactor path lowering and serve a new path diagnostic
2025-02-17Rollup merge of #137095 - saethlin:use-hash64-for-hashes, r=workingjubileeMatthias Krüger-5/+19
Replace some u64 hashes with Hash64 I introduced the Hash64 and Hash128 types in https://github.com/rust-lang/rust/pull/110083, essentially as a mechanism to prevent hashes from landing in our leb128 encoding paths. If you just have a u64 or u128 field in a struct then derive Encodable/Decodable, that number gets leb128 encoding. So if you need to store a hash or some other value which behaves very close to a hash, don't store it as a u64. This reverts part of https://github.com/rust-lang/rust/pull/117603, which turned an encoded Hash64 into a u64. Based on https://github.com/rust-lang/rust/pull/110083, I don't expect this to be perf-sensitive on its own, though I expect that it may help stabilize some of the small rmeta size fluctuations we currently see in perf reports.
2025-02-17Rollup merge of #137101 - GrigorenkoPV:str-inherent-lint, r=UrgauMatthias Krüger-4/+5
`invalid_from_utf8[_unchecked]`: also lint inherent methods Addressing https://github.com/rust-lang/rust/issues/131114#issuecomment-2646663535 Also corrected a typo: "_an_ invalid literal", not "_a_ invalid literal".
2025-02-17Rollup merge of #137080 - jieyouxu:more-tracing, r=onur-ozkanMatthias Krüger-31/+340
bootstrap: add more tracing to compiler/std/llvm flows - Add more tracing to compiler/std/llvm flows. - Two drive-by nits: 1. Take `TargetSelection` by-value for `builder.is_builder_target()`. Noticed while adding tracing; follow-up to #136767. 2. Coalesce enzyme build logic into one branch. - Document `COMPILER{,_FOR}` tracing targets for #96176. - No functional changes. ### Testing You can play with the tracing locally with: ``` $ BOOTSTRAP_TRACING=bootstrap=debug ./x build library $ BOOTSTRAP_TRACING=bootstrap=trace ./x build library $ BOOTSTRAP_TRACING=bootstrap=trace,COMPILER=trace,COMPILER_FOR=trace ./x build library ``` ### Previews ``` $ BOOTSTRAP_TRACING=bootstrap=debug ./x build library ``` ![Screenshot 2025-02-15 230824](https://github.com/user-attachments/assets/c3b02b62-d52e-4c03-a00a-da0d95618989) ``` $ BOOTSTRAP_TRACING=bootstrap=trace,COMPILER=trace,COMPILER_FOR=trace ./x build library ``` ![Screenshot 2025-02-15 233859](https://github.com/user-attachments/assets/842e4ece-4c26-4191-acbb-5f93e42de4dc) r? ``@onur-ozkan`` (or reroll)
2025-02-17Rollup merge of #136671 - nnethercote:middle-limits, r=NadrierilMatthias Krüger-3/+3
Overhaul `rustc_middle::limits` In particular, to make `pattern_complexity` work more like other limits, which then enables some other simplifications. r? ``@Nadrieril``
2025-02-17Rollup merge of #136466 - nnethercote:start-removing-Map, r=cjgillotMatthias Krüger-250/+240
Start removing `rustc_middle::hir::map::Map` `rustc_middle::hir::map::Map` is now just a low-value wrapper around `TyCtxt`. This PR starts removing it. r? `@cjgillot`
2025-02-17Merge from rustcThe Miri Cronjob Bot-20/+408
2025-02-17Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-02-17Calculate drop glue and show it on hoverChayim Refael Friedman-6/+1002
Also fix the `needs_drop()` intrinsic. Unions also need this information (to err if they have a drop-needing field), but this will come in a follow-up PR.
2025-02-17stabilize (const_)ptr_sub_ptrbendn-3/+0
2025-02-17Remove `TyCtxt::hir_krate`.Nicholas Nethercote-1/+1
It's a trivial wrapper around the `hir_crate` query with a small number of uses.
2025-02-17Overhaul the `intravisit::Map` trait.Nicholas Nethercote-76/+73
First of all, note that `Map` has three different relevant meanings. - The `intravisit::Map` trait. - The `map::Map` struct. - The `NestedFilter::Map` associated type. The `intravisit::Map` trait is impl'd twice. - For `!`, where the methods are all unreachable. - For `map::Map`, which gets HIR stuff from the `TyCtxt`. As part of getting rid of `map::Map`, this commit changes `impl intravisit::Map for map::Map` to `impl intravisit::Map for TyCtxt`. It's fairly straightforward except various things are renamed, because the existing names would no longer have made sense. - `trait intravisit::Map` becomes `trait intravisit::HirTyCtxt`, so named because it gets some HIR stuff from a `TyCtxt`. - `NestedFilter::Map` assoc type becomes `NestedFilter::MaybeTyCtxt`, because it's always `!` or `TyCtxt`. - `Visitor::nested_visit_map` becomes `Visitor::maybe_tcx`. I deliberately made the new trait and associated type names different to avoid the old `type Map: Map` situation, which I found confusing. We now have `type MaybeTyCtxt: HirTyCtxt`.
2025-02-17Move some `Map` methods onto `TyCtxt`.Nicholas Nethercote-174/+167
The end goal is to eliminate `Map` altogether. I added a `hir_` prefix to all of them, that seemed simplest. The exceptions are `module_items` which became `hir_module_free_items` because there was already a `hir_module_items`, and `items` which became `hir_free_items` for consistency with `hir_module_free_items`.
2025-02-17Fix sorting of runnablesChayim Refael Friedman-11/+4
There were two mistakes: first, tests were sorted before test modules, and second, we re-sorted based on the name only, which cancelled the sort based on the kind.
2025-02-17Rename `pattern_complexity` attr as `pattern_complexity_limit`.Nicholas Nethercote-2/+2
For consistency with `recursion_limit`, `move_size_limit`, and `type_length_limit`.
2025-02-17Add `pattern_complexity_limit` to `Limits`.Nicholas Nethercote-1/+1
It's similar to the other limits, e.g. obtained via `get_limit`. So it makes sense to handle it consistently with the other limits. We now use `Limit`/`usize` in most places instead of `Option<usize>`, so we use `Limit::new(usize::MAX)`/`usize::MAX` to emulate how `None` used to work. The commit also adds `Limit::unlimited`.
2025-02-16Auto merge of #137143 - matthiaskrgr:rollup-9hapmyd, r=matthiaskrgrbors-16/+299
Rollup of 8 pull requests Successful merges: - #136986 (Apply unsafe_op_in_unsafe_fn to the standard library) - #137012 (add docs and ut for bootstrap util cc-detect) - #137072 (Load all builtin targets at once instead of one by one in check-cfg) - #137102 (Rework `name_regions` to not rely on reverse scc graph for non-member-constrain usages) - #137112 (Don't project into `NonNull` when dropping a `Box`) - #137114 (Add an example for `std::error::Error`) - #137117 (Fix test that relies on error language) - #137119 (fix broken `x {doc, build} core`) r? `@ghost` `@rustbot` modify labels: rollup
2025-02-16Move hashes from rustc_data_structure to rustc_hashes so they can be shared ↵Ben Kimock-5/+19
with rust-analyzer
2025-02-16Pass through of target features to llvm-bitcode-linker and handling themkulst-2/+17
The .ptx version produced by llc can be specified by passing it with --mattr. Currently it is not possible to specify the .ptx version with -Ctarget-feature because these are not passed through to llvm-bitcode-linker and handled by it. This commit adds both. --target-feature and -mattr are passed with equals to mitigate issues when the value starts with a - (minus).
2025-02-16add erf and erfc to nondet tests, and reduce how much we're changing the ↵Ralf Jung-125/+48
float test
2025-02-16Auto merge of #137127 - pietroalbini:pa-musl-cve-2025-26519, r=jieyouxubors-0/+41
Fix musl's CVE-2025-26519 The musl project [announced CVE-2025-26519](https://www.openwall.com/lists/musl/2025/02/13/1), which could result in out-of-bounds writes when calling the `iconv` function. There is no musl release available with the fixes at this point in time (and we're using an older version of musl anyway), so this PR applies the provided patches on top of the musl source tarball we download.
2025-02-16apply random float error to most floating-point operationsLorrensP-2158466-84/+403
2025-02-16Refactor path loweringChayim Refael Friedman-1132/+1220
And add a new diagnostic for non-`Fn` parenthesized generic args. Path lowering started to look like a mess, with each function carrying additional parameters for the diagnostic callback (since paths can occur both in type and in expression/pattern position, and their diagnostic handling is different) and the segment index, for the diagnostics report. So I refactored it from stateless functions on `TyLoweringContext` into stateful struct, `PathLoweringContext`, that tracks the process of lowering a path from resolution til assoc types selection.
2025-02-16Rollup merge of #137119 - onur-ozkan:fix-broken-core, r=jieyouxuMatthias Krüger-9/+10
fix broken `x {doc, build} core` Fixes #137115
2025-02-16Rollup merge of #137012 - Shourya742:2025-02-14-doc-and-unit-test-cc-detect, ↵Matthias Krüger-3/+285
r=onur-ozkan add docs and ut for bootstrap util cc-detect This PR adds doc and unit test for bootstrap utils/cc-detect module