-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 10 pull requests #120157
Rollup of 10 pull requests #120157
Conversation
old: ascii::bench_ascii_escape_display_mixed 17.97µs/iter +/- 204.00ns ascii::bench_ascii_escape_display_no_escape 545.00ns/iter +/- 6.00ns new: ascii::bench_ascii_escape_display_mixed 4.99µs/iter +/- 56.00ns ascii::bench_ascii_escape_display_no_escape 91.00ns/iter +/- 1.00ns
…tc_infer using callback. Pass each obligation to an fn callback with its respective inference context. This avoids needing to keep around copies of obligations or inference contexts. Specify usability of inspect_typeck in comment.
…lacrum,dtolnay Added NonZeroXxx::from_mut(_unchecked)? ACP: rust-lang/libs-team#129 Tracking issue: rust-lang#106290
…imulacrum optimize EscapeAscii's Display and CStr's Debug ``` old: ascii::bench_ascii_escape_display_mixed 17.97µs/iter +/- 204.00ns ascii::bench_ascii_escape_display_no_escape 545.00ns/iter +/- 6.00ns new: ascii::bench_ascii_escape_display_mixed 4.99µs/iter +/- 56.00ns ascii::bench_ascii_escape_display_no_escape 91.00ns/iter +/- 1.00ns ```
…wesleywiser Stabilize single-field offset_of This PR stabilizes offset_of for a single field. There has been some further discussion at rust-lang#106655 about whether this is advisable; I'm opening the PR anyway so that the code is available.
Expose Obligations created during type inference. This PR is a first pass at exposing the trait obligations generated and solved for during the type-check progress. Exposing these obligations allows for rustc plugins to use the public interface for proof trees (provided by the next gen trait solver). The changes proposed track *all* obligations during the type-check process, this is desirable to not only look at the trees of failed obligations, but also those of successfully proved obligations. This feature is placed behind an unstable compiler option `track-trait-obligations` which should be used together with the `next-solver` option. I should note that the main interface is the function `inspect_typeck` made public in `rustc_hir_typeck/src/lib.rs` which allows the caller to provide a callback granting access to the `FnCtxt`. r? `@lcnr`
Avoid ICEs in trait names without `dyn` Check diagnostic is error before downgrading. Fix rust-lang#119633. Account for traits using self-trait by name without `dyn`. Fix rust-lang#119652.
…acrum Teach tidy about line/col information for malformed features This makes it significantly easier to find the specific feature, since you can now just click it in the command line of your IDE
SMIR: Make the remaining "private" fields actually private Turns out we have already created a trait that allows us to make the fields private: https://doc.rust-lang.org/nightly/nightly-rustc/stable_mir/ty/trait.IndexedVal.html fixes rust-lang/project-stable-mir#56 r? `@celinval`
`single_use_lifetimes`: Don't suggest deleting lifetimes with bounds Closes rust-lang#117965 ``` 9 | pub fn get<'b: 'a>(&'b self) -> &'a str { | ^^ -- ...is used only here | | | this lifetime... ``` In this example, I think the `&'b self` can be replaced with the bound itself, yielding `&'a self`, but this would require a deeper refactor. Happy to do as a follow-on PR if desired.
…es-even, r=cuviper Stabilize `round_ties_even` Closes rust-lang#96710 `@rustbot` label -T-libs T-libs-api
…moting, r=aliemjay Don't use `ReErased` to detect type test promotion failed Using `ReErased` here is convenient because it implicitly stores the state that we are explicitly recording with the `failed` variable now, but I also think it adds a tiny bit of complexity that is not worth it. r? `@aliemjay`
@bors r+ rollup=never p=10 |
…iaskrgr Rollup of 10 pull requests Successful merges: - rust-lang#103730 (Added NonZeroXxx::from_mut(_unchecked)?) - rust-lang#113142 (optimize EscapeAscii's Display and CStr's Debug) - rust-lang#118799 (Stabilize single-field offset_of) - rust-lang#119613 (Expose Obligations created during type inference.) - rust-lang#119752 (Avoid ICEs in trait names without `dyn`) - rust-lang#120132 (Teach tidy about line/col information for malformed features) - rust-lang#120135 (SMIR: Make the remaining "private" fields actually private) - rust-lang#120148 (`single_use_lifetimes`: Don't suggest deleting lifetimes with bounds) - rust-lang#120150 (Stabilize `round_ties_even`) - rust-lang#120155 (Don't use `ReErased` to detect type test promotion failed) r? `@ghost` `@rustbot` modify labels: rollup
💔 Test failed - checks-actions |
@bors retry curl: (35) Recv failure: Connection reset by peer |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: 5378c1cf07 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (314384b): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 663.642s -> 665.922s (0.34%) |
Successful merges:
dyn
#119752 (Avoid ICEs in trait names withoutdyn
)single_use_lifetimes
: Don't suggest deleting lifetimes with bounds #120148 (single_use_lifetimes
: Don't suggest deleting lifetimes with bounds)round_ties_even
#120150 (Stabilizeround_ties_even
)ReErased
to detect type test promotion failed #120155 (Don't useReErased
to detect type test promotion failed)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup