Rollup of 6 pull requests#156870
Conversation
`reborrow_info` validates that all data fields of a struct implementing `Reborrow` are either `Copy` or themselves `Reborrow`. When a field implementing `Reborrow` was found, the loop returned `Ok(())` immediately, so any remaining fields were never validated. This let a struct whose first data field is `Reborrow` and whose second field is neither `Copy` nor `Reborrow` incorrectly implement `Reborrow`. Change the early `return Ok(())` to `continue` so every field is checked.
When a float literal ended with a dot, `float_literal_f32_fallback` should not include it in its suggestion.
… r=jieyouxu Use print instead of po in debuginfo path test Fixes rust-lang#156660 This fixes `tests/debuginfo/path.rs` failing on newer Apple LLDB versions. Root cause: Apple LLDB 2100 reports missing Rust language plugin support: warning: `po` was unsuccessful, running `p` instead As a result, `po` falls back to `p`, producing expanded output that no longer matches the existing `lldb-check` directives. Changes: - replace `po` with `print` - relax `lldb-check` expectations using `[...]` - preserve validation of the displayed path value This also aligns `path.rs` with the rest of the debuginfo tests, as it appears to be the only test using `po`. --- EDIT(@jieyouxu): see digging rust-lang#156769 (comment)
…dingxiangfei2009 Fix reborrow_info early return skipping field validation `reborrow_info` validates that all data fields of a struct implementing `Reborrow` are either `Copy` or themselves `Reborrow`. When iterating the fields, finding a `Reborrow` field returned `Ok(())` immediately, so any remaining fields were never validated. This let a struct with a non-`Copy`, non-`Reborrow` second field implement `Reborrow`. Changing the early `return Ok(())` to `continue` makes the loop validate every field. Tracking issue: rust-lang#145612
…f32_fallback-suggestion, r=Kivooeo float_literal_f32_fallback: Don't suggest invalid code When a float literal ended with a dot, `float_literal_f32_fallback` should not include it in its suggestion, as that would result in invalid syntax ([playgound](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2024&gist=de47274bf2b07070b79a97ce6744ffcbO)): ``` 2 | let _: f32 = From::from(0.); | ^^ help: explicitly specify the type as `f32`: `0._f32` ``` Relevant tracking issue: rust-lang#154024
…=SimonSapin Add unstable Share trait Tracking issue: rust-lang#156756 This adds an initial unstable `Share` trait for clone-as-alias types, as part of the 2026 ergonomic ref-counting project goal. ```rust pub trait Share: Clone { fn share(&self) -> Self { Clone::clone(self) } } ``` This PR adds a separate unstable feature gate: ```rust #![feature(share_trait)] ``` and places the trait next to `Clone` in `core::clone`. Implemented initial impls: - `impl<T: ?Sized> Share for &T` - `impl<T: ?Sized, A: Allocator + Clone> Share for Rc<T, A>` - `impl<T: ?Sized, A: Allocator + Clone> Share for Arc<T, A>` - `impl<T> Share for std::sync::mpsc::Sender<T>` - `impl<T> Share for std::sync::mpsc::SyncSender<T>` The PR deliberately does not add `Share` to the prelude. r? @nikomatsakis @rustbot label F-ergonomic_clones
Add `#[doc(alias = "phi")]` for float `GOLDEN_RATIO` constants - Adds "phi" doc alias for `f16`, `f32`, `f64`, and `f128` I knew this constant was stabilized but I couldn't remember what it was called. Searching "phi" in the docs only surfaces the π constant, `is_ascii_graphic`, and `spin_loop_hint` methods. This alias would make it much easier to find. https://doc.rust-lang.org/nightly/std/?search=phi
…lmap, r=jieyouxu Fix Pieter-Louis Schoeman mailmap entry I'm listed twice on thanks.rust-lang
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: e1ff77d898 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing e1ff77d (parent) -> 06b13d5 (this PR) Test differencesShow 1356 test diffsStage 1
Stage 2
Additionally, 1336 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 06b13d50ca813d84d93fcddbaaef069011b16fbb --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (06b13d5): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 1.8%, secondary 5.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -5.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 511.791s -> 509.286s (-0.49%) |
Successful merges:
#[doc(alias = "phi")]for floatGOLDEN_RATIOconstants #156830 (Add#[doc(alias = "phi")]for floatGOLDEN_RATIOconstants)r? @ghost
Create a similar rollup