about summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2025-06-17fix: Reload workspaces when cargo configs changeLukas Wirth-11/+15
2025-06-17chore: Start infesting ide crates with 'db lifetimeLukas Wirth-815/+1214
2025-06-17Merge pull request #20018 from Veykril/push-pkowrtoturkrLukas Wirth-84/+176
fix: Copy lockfiles into target directory before invoking `cargo metadata`
2025-06-17Merge pull request #19939 from ChayimFriedman2/fill-arms-selfLukas Wirth-29/+227
feat: In "Fill match arms", allow users to prefer `Self` to the enum name when possible
2025-06-17Merge pull request #19945 from ChayimFriedman2/private-field-quickfixLukas Wirth-32/+125
feat: Add the quickfix for increasing visibility of a private field to the private-field diagnostic (previously it was only on no-such-field)
2025-06-17fix: Copy lockfiles into target directory before invoking `cargo metadata`Lukas Wirth-84/+176
2025-06-17Merge from rustcThe Miri Cronjob Bot-14/+13
2025-06-17Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-06-16miri: bless testsDavid Wood-4/+4
These error messages include lines of the standard library which have changed and so need updated.
2025-06-16miri: fix buildDavid Wood-1/+1
It isn't clear why the `Deref` impl isn't found for this in a stage two build, but presumably relates to `rustc_middle::ty::RawList` containing an extern type and `Deref` not yet being relaxed to `PointeeSized` (this is technically a breaking change but unlikely to be one and will be tested in a follow-up).
2025-06-16clippy: `{Meta,Pointee,}Sized` in non-minicoreDavid Wood-2/+8
One clippy test is `no_core` and needs to have `MetaSized` and `PointeeSized` added to it.
2025-06-16clippy: add `MetaSized` conditionsDavid Wood-1/+8
Existing lints that had special-casing for `Sized` predicates ought to have these same special cases applied to `MetaSized` predicates.
2025-06-16Change __rust_no_alloc_shim_is_unstable to be a functionDaniel Paoliello-6/+6
2025-06-16feat: Insert required parentheses when typing `+` in trait typeLukas Wirth-8/+92
2025-06-16feat: Show what cargo metadata is doing in statusLukas Wirth-26/+57
2025-06-16Auto merge of #142574 - Kobzol:rollup-ldj386u, r=Kobzolbors-3/+2
Rollup of 12 pull requests Successful merges: - rust-lang/rust#141639 (Expose discriminant values in stable_mir) - rust-lang/rust#142082 (Refactor `rustc_attr_data_structures` documentation) - rust-lang/rust#142125 (Stabilize "file_lock" feature) - rust-lang/rust#142236 (Add documentation for `PathBuf`'s `FromIterator` and `Extend` impls) - rust-lang/rust#142373 (Fix Debug for Location) - rust-lang/rust#142416 (Assorted bootstrap cleanups (step 2)) - rust-lang/rust#142431 (Add initial version of snapshot tests to bootstrap) - rust-lang/rust#142450 (Add documentation on top of `rustc_middle/src/query/mod.rs`) - rust-lang/rust#142528 (clarify `rustc_do_not_const_check` comment) - rust-lang/rust#142530 (use `if let` guards where possible) - rust-lang/rust#142561 (Remove an `njn:` comment accidentaly left behind.) - rust-lang/rust#142566 (Fix `-nopt` CI jobs) r? `@ghost` `@rustbot` modify labels: rollup
2025-06-16Format goto_type_definitionLaurențiu Nicola-4/+2
2025-06-16Rollup merge of #142528 - fee1-dead-contrib:push-rlxklunqkwmv, r=RalfJungJakub Beránek-1/+1
clarify `rustc_do_not_const_check` comment ~~Given that we have used this attribute for other reasons before it seems appropriate to make this a "usually".~~ Add function name as a pointer cc ```@rust-lang/wg-const-eval```
2025-06-16Rollup merge of #142125 - cberner:file_lock_stable, r=ChrisDentonJakub Beránek-2/+1
Stabilize "file_lock" feature Closes https://github.com/rust-lang/rust/issues/130994 r? ```@joshtriplett```
2025-06-16update to literal-escaper 0.0.4 for better API without `unreachable` and ↵Marijn Schouten-165/+137
faster string parsing
2025-06-16Auto merge of #142556 - RalfJung:miri-sync, r=RalfJungbors-1013/+882
Miri subtree update r? `@ghost`
2025-06-16Merge pull request #19994 from sourcefrog/book-linksLaurențiu Nicola-3/+2
Fix some links in the book
2025-06-15Rollup merge of #134661 - dtolnay:prefixattr, r=fmeaseLeón Orell Valerian Liehr-11/+11
Reduce precedence of expressions that have an outer attr Previously, `-Zunpretty=expanded` would expand this program as follows: ```rust #![feature(stmt_expr_attributes)] macro_rules! repro { ($e:expr) => { #[allow(deprecated)] $e }; } #[derive(Default)] struct Thing { #[deprecated] field: i32, } fn main() { let thing = Thing::default(); let _ = repro!(thing).field; } ``` ```rs #![feature(prelude_import)] #![feature(stmt_expr_attributes)] #[prelude_import] use std::prelude::rust_2021::*; #[macro_use] extern crate std; struct Thing { #[deprecated] field: i32, } #[automatically_derived] impl ::core::default::Default for Thing { #[inline] fn default() -> Thing { Thing { field: ::core::default::Default::default() } } } fn main() { let thing = Thing::default(); let _ = #[allow(deprecated)] thing.field; } ``` This is not the correct expansion. The correct output would have `(#[allow(deprecated)] thing).field` with the attribute applying only to `thing`, not to `thing.field`.
2025-06-15Merge pull request #20000 from tadeokondrak/lifetime-repeat-macroChayim Refael Friedman-14/+63
Allow lifetime repeats in macros: $($x)'a*
2025-06-15Use is_any_identifier in pretty_print_macro_expansionTadeo Kondrak-13/+6
2025-06-15Fix spacing for LIFETIME_IDENT near keywords and literals in test outputTadeo Kondrak-4/+12
2025-06-15Un-remap `rustc-dev` component pathsUrgau-0/+6
2025-06-15Stabilize "file_lock" featureChristopher Berner-2/+1
2025-06-15clarify `rustc_do_not_const_check` commentDeadbeef-1/+1
2025-06-15Merge from rustcRalf Jung-49/+5
2025-06-15Preparing for merge from rustcRalf Jung-1/+1
2025-06-15Merge pull request #20009 from Veykril/push-rvnnorzvpnqvLukas Wirth-73/+136
Optimize `pub(crate)` and `pub(self)` visibility resolution
2025-06-15Optimize private visibility resolutionLukas Wirth-39/+83
2025-06-15Optimize `pub(crate)` visibility resolutionLukas Wirth-36/+55
2025-06-15Merge pull request #20008 from Veykril/push-rsnkrwyplmwrLukas Wirth-137/+120
More idiomatic salsa use
2025-06-15Unify assoc item visibility queriesLukas Wirth-77/+58
2025-06-15Idiomatic salsa use for extern block abi queryLukas Wirth-13/+16
2025-06-15Idiomatic salsa use for impl items queryLukas Wirth-41/+40
2025-06-15Replace unnecessary use of `MacroDefId` with `MacroId`Lukas Wirth-6/+6
2025-06-15Merge pull request #20007 from Veykril/push-opqzsnwzwyvnLukas Wirth-77/+81
Idiomatic salsa use for enum variants query
2025-06-15Idiomatic salsa use for enum variants queryLukas Wirth-77/+81
2025-06-15Merge pull request #20006 from Veykril/push-uvmuznvlwsxxLukas Wirth-213/+692
Cleanup incremental tests and verify query executions
2025-06-15Cleanup incremental testsLukas Wirth-213/+692
2025-06-15Implement pinned borrows, part of `pin_ergonomics`Frank King-0/+19
2025-06-15Merge pull request #19996 from LHolten/exclude-importsChayim Refael Friedman-1/+214
Add support for excluding imports from symbol search
2025-06-15Add config option to exclude imports from symbol searchLucas Holten-1/+214
2025-06-15cargo updategithub-actions-46/+40
compiler & tools dependencies: Locking 31 packages to latest compatible versions Updating adler2 v2.0.0 -> v2.0.1 Updating cfg-if v1.0.0 -> v1.0.1 Updating clap v4.5.39 -> v4.5.40 Updating clap_builder v4.5.39 -> v4.5.40 Updating clap_derive v4.5.32 -> v4.5.40 Updating clap_lex v0.7.4 -> v0.7.5 Updating getopts v0.2.21 -> v0.2.23 Updating hermit-abi v0.5.1 -> v0.5.2 Updating jiff v0.2.14 -> v0.2.15 Updating jiff-static v0.2.14 -> v0.2.15 Updating libc v0.2.172 -> v0.2.173 Updating memchr v2.7.4 -> v2.7.5 Updating minifier v0.3.5 -> v0.3.6 Updating miniz_oxide v0.8.8 -> v0.8.9 Updating object v0.37.0 -> v0.37.1 Updating redox_syscall v0.5.12 -> v0.5.13 Updating rustc-demangle v0.1.24 -> v0.1.25 Updating syn v2.0.101 -> v2.0.103 Updating thread_local v1.1.8 -> v1.1.9 Updating unicode-width v0.2.0 -> v0.2.1 Updating wasi v0.11.0+wasi-snapshot-preview1 -> v0.11.1+wasi-snapshot-preview1 Updating wasm-encoder v0.233.0 -> v0.235.0 Removing wasmparser v0.232.0 Removing wasmparser v0.233.0 Adding wasmparser v0.234.0 Adding wasmparser v0.235.0 Updating wast v233.0.0 -> v235.0.0 Updating wat v1.233.0 -> v1.235.0 Updating windows v0.61.1 -> v0.61.3 Updating windows-link v0.1.1 -> v0.1.3 Adding windows-sys v0.60.2 Updating windows-targets v0.53.0 -> v0.53.2 Updating winnow v0.7.10 -> v0.7.11 note: pass `--verbose` to see 39 unchanged dependencies behind latest library dependencies: Locking 1 package to latest compatible version Updating libc v0.2.172 -> v0.2.173 note: pass `--verbose` to see 4 unchanged dependencies behind latest rustbook dependencies: Locking 19 packages to latest compatible versions Updating adler2 v2.0.0 -> v2.0.1 Updating cc v1.2.26 -> v1.2.27 Updating cfg-if v1.0.0 -> v1.0.1 Updating clap v4.5.39 -> v4.5.40 Updating clap_builder v4.5.39 -> v4.5.40 Updating clap_complete v4.5.52 -> v4.5.54 Updating clap_derive v4.5.32 -> v4.5.40 Updating clap_lex v0.7.4 -> v0.7.5 Updating getopts v0.2.21 -> v0.2.23 Updating jiff v0.2.14 -> v0.2.15 Updating jiff-static v0.2.14 -> v0.2.15 Updating libc v0.2.172 -> v0.2.173 Updating memchr v2.7.4 -> v2.7.5 Updating miniz_oxide v0.8.8 -> v0.8.9 Updating redox_syscall v0.5.12 -> v0.5.13 Updating syn v2.0.101 -> v2.0.103 Removing unicode-width v0.1.14 Removing unicode-width v0.2.0 Adding unicode-width v0.2.1 Updating windows-link v0.1.1 -> v0.1.3 Updating winnow v0.7.10 -> v0.7.11
2025-06-15Implement `simd_round_ties_even` for miri, cg_clif and cg_gccsayantn-0/+10
2025-06-14Rollup merge of #141811 - mejrs:bye_locals, r=compiler-errorsMatthias Krüger-48/+5
Unimplement unsized_locals Implements https://github.com/rust-lang/compiler-team/issues/630 Tracking issue here: https://github.com/rust-lang/rust/issues/111942 Note that this just removes the feature, not the implementation, and does not touch `unsized_fn_params`. This is because it is required to support `Box<dyn FnOnce()>: FnOnce()`. There may be more that should be removed (possibly in follow up prs) - the `forget_unsized` function and `forget` intrinsic. - the `unsized_locals` test directory; I've just fixed up the tests for now - various codegen support for unsized values and allocas cc ``@JakobDegen`` ``@oli-obk`` ``@Noratrieb`` ``@programmerjake`` ``@bjorn3`` ``@rustbot`` label F-unsized_locals Fixes rust-lang/rust#79409
2025-06-14Rollup merge of #140593 - m-ou-se:some-temp, r=NadrierilMatthias Krüger-1/+0
Temporary lifetime extension through tuple struct and tuple variant constructors This makes temporary lifetime extension work for tuple struct and tuple variant constructors, such as `Some()`. Before: ```rust let a = &temp(); // Extended let a = Some(&temp()); // Not extended :( let a = Some { 0: &temp() }; // Extended ``` After: ```rust let a = &temp(); // Extended let a = Some(&temp()); // Extended let a = Some { 0: &temp() }; // Extended ``` So, with this change, this works: ```rust let a = Some(&String::from("hello")); // New: String lifetime now extended! println!("{a:?}"); ``` Until now, we did not extend through tuple struct/variant constructors (like `Some`), because they are function calls syntactically, and we do not want to extend the String lifetime in: ```rust let a = some_function(&String::from("hello")); // String not extended! ``` However, it turns out to be very easy to distinguish between regular functions and constructors at the point where we do lifetime extension. In practice, constructors nearly always use UpperCamelCase while regular functions use lower_snake_case, so it should still be easy to for a human programmer at the call site to see whether something qualifies for lifetime extension or not. This needs a lang fcp. --- More examples of what will work after this change: ```rust let x = Person { name: "Ferris", job: Some(&Job { // `Job` now extended! title: "Chief Rustacean", organisation: "Acme Ltd.", }), }; dbg!(x); ``` ```rust let file = if use_stdout { None } else { Some(&File::create("asdf")?) // `File` now extended! }; set_logger(file); ``` ```rust use std::path::Component; let c = Component::Normal(&OsString::from(format!("test-{num}"))); // OsString now extended! assert_eq!(path.components.first().unwrap(), c); ```