about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
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-16Add infrastructure for emitting timing sectionsJakub Beránek-0/+28
2025-06-16Fix `-nopt` CI jobsJakub Beránek-10/+2
They were using `--config` instead of `--set`, which overrides too much stuff.
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 #142499 - Shourya742:2025-06-14-remove-check-run-bootstrap, ↵León Orell Valerian Liehr-50/+19
r=Kobzol Remove check run bootstrap This PR migrates all usage of check_run to new execution context api's. r? `@Kobzol`
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-15Rollup merge of #133952 - bjorn3:remove_wasm_legacy_abi, r=alexcrichtonLeón Orell Valerian Liehr-117/+0
Remove wasm legacy abi Closes https://github.com/rust-lang/rust/issues/122532 Closes https://github.com/rust-lang/rust/issues/138762 Fixes https://github.com/rust-lang/rust/issues/71871 https://github.com/rust-lang/rust/issues/88152 Fixes https://github.com/rust-lang/rust/issues/115666 Fixes https://github.com/rust-lang/rust/issues/129486
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/+8
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-422/+404
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-14Auto merge of #142335 - nnethercote:rustdoc-json-allocations, r=aDotInTheVoidbors-141/+159
rustdoc_json: reduce allocations These commits reduce the number of allocations done for rustdoc_json, mostly by avoiding unnecessary clones. Best reviewed one commit at a time. r? `@aDotInTheVoid`
2025-06-15Implement `simd_round_ties_even` for miri, cg_clif and cg_gccsayantn-0/+10
2025-06-14do not inline linksTshepang Mbambo-2/+5
2025-06-14title caseTshepang Mbambo-1/+1
2025-06-14use sentence caseTshepang Mbambo-11/+11
2025-06-14content has moved to another chapterTshepang Mbambo-2/+2
2025-06-14Merge pull request #2465 from xizheyin/rustc-queryTshepang Mbambo-39/+46
Adjust some doc for Query System
2025-06-14Merge pull request #2441 from rust-lang/tshepang-remove-title-caseTshepang Mbambo-28/+28
use consistent title capitalization
2025-06-14remove check_run function from helpersbit-aloo-27/+9
2025-06-14remove check_run method from configbit-aloo-13/+2
2025-06-14replace all instances of check_run in download with execution contextbit-aloo-2/+2
2025-06-14replace all instances of check_run in config with execution contextbit-aloo-17/+15
2025-06-14Fix random failure when JS code is executed when the whole file was not read yetGuillaume Gomez-37/+37
2025-06-14Remove outdated docs about broken ABIbjorn3-117/+0
2025-06-14Rollup merge of #141811 - mejrs:bye_locals, r=compiler-errorsMatthias Krüger-225/+7
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 #141399 - GuillaumeGomez:extracted-doctest, r=aDotInTheVoidMatthias Krüger-55/+238
[rustdoc] Give more information into extracted doctest information Follow-up of https://github.com/rust-lang/rust/pull/134531. This update fragment the doctest code into its sub-parts to give more control to the end users on how they want to use it. The new JSON looks like this: ```json { "format_version":2, "doctests":[ { "file":"$DIR/extract-doctests-result.rs", "line":8, "doctest_attributes":{ "original":"", "should_panic":false, "no_run":false, "ignore":"None", "rust":true, "test_harness":false, "compile_fail":false, "standalone_crate":false, "error_codes":[], "edition":null, "added_css_classes":[], "unknown":[] }, "original_code":"let x = 12;\nOk(())", "doctest_code":{ "crate_level":"#![allow(unused)]\n", "code":"let x = 12;\nOk(())", "wrapper":{ "before":"fn main() { fn _inner() -> core::result::Result<(), impl core::fmt::Debug> {\n", "after":"\n} _inner().unwrap() }", "returns_result":true } }, "name":"$DIR/extract-doctests-result.rs - (line 8)" } ] } ``` for this doctest: ```rust let x = 12; Ok(()) ``` With this, I think it matches what you need ``@ojeda?`` If so, once merged I'll update the patch I sent to RfL. r? ``@aDotInTheVoid``
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); ```
2025-06-14Merge from rustcRalf Jung-44/+115