-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
[EXPERIMENT] Rollup of 18 pull requests #152513
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
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: beetrees <b@beetr.ee>
aliases may be rigid even if they don't reference params. If the alias isn't well-formed, trying to normalize it as part of the input should have already failed
This essentially folds the call to `region_from_element` into `RegionInferenceContext`, and simplifies the error variant for this case. It also clarifies the type information on the methods called to emphasise the fact that they only ever use placeholder regions in the diagnostics, and completely ignore any other element.
This also changes the signature of `call_query_method` to not return a value, because its only caller immediately discards the value anyway.
This is necessary to support serializing the CodegenContext to a .rlink file in the future for moving LTO to the -Zlink-only step.
Add note when inherent impl for a alias type defined outside of the crate Fixes rust-lang#141679 r? compiler
…=chenyukang
Add FCW for derive helper attributes that will conflict with built-in attributes
Adds a future-compatibility-warning deny-by-default lint that helps catch invalid derive helper attribute names early.
This issues the lint, saying that `ignore` helper will clash with the built-in `ignore` attribute.
```rust
#![crate_type = "proc-macro"]
#![deny(ambiguous_derive_helpers)]
use proc_macro::TokenStream;
#[proc_macro_derive(Trait, attributes(ignore))]
pub fn example(input: TokenStream) -> TokenStream {
TokenStream::new()
}
```
If you actually tried to use that `ignore` helper attribute, you won't be able to due to the ambiguity:
```rust
#[derive(Trait)]
struct Foo {
#[ignore]
field: (),
}
```
Produces:
```
error[E0659]: `ignore` is ambiguous
--> src/lib.rs:5:7
|
5 | #[ignore]
| ^^^^^^ ambiguous name
|
= note: ambiguous because of a name conflict with a builtin attribute
= note: `ignore` could refer to a built-in attribute
note: `ignore` could also refer to the derive helper attribute defined here
--> src/lib.rs:3:10
|
3 | #[derive(Trait)]
| ^^^^^
```
layout: handle rigid aliases without params fixes rust-lang#151791 r? types
…ror-handling, r=lcnr Borrowck: simplify diagnostics for placeholders This folds the call to `region_from_element` into `RegionInferenceContext`, and simplifies the error variant for this case to only talk about regions as opposed to elements. This is the only case where a `RegionElement` leaks out of region inference, so now they can be considered internal to region inference (though that currently isn't expressed). It also clarifies the type information on the methods called to emphasise the fact that they only ever use placeholder regions in the diagnostics completely ignore any other element. It also adds a bunch of FIXMEs to some fishy statements that conjure universes from what seems like arbitrary integers. This was lifted from rust-lang#142623. r? @lcnr
Add note for `?Sized` params in int-ptr casts diag Close rust-lang#74756
Change query proc macro to be more rust-analyzer friendly This changes the query proc macro to be more rust-analyzer friendly. - Types in the macro now have a proper span - Some functions have their span hidden so they don't show up when hovering over the query name - Added a hint on the provider field on how to find providers. That is shown when hovering over the query name - Linked query name to the provider field on all queries, not just ones with caching - Added tooltip for the query modifiers by linking to the new types in `rustc_middle:::query::modifiers`
Clarify names of `QueryVTable` functions for "executing" a query In the query system, there are several layers of functions involved in “executing” a query, with very different responsibilities at each layer, making it important to be able to tell them apart. This PR renames two of the function pointers in `QueryVTable`, along with their associated helper functions, to hopefully do a better job of indicating what their actual responsibilities are. r? nnethercote
Remove tm_factory field from CodegenContext This is necessary to support serializing the `CodegenContext` to a `.rlink` file in the future for moving LTO to the `-Zlink-only` step. Follow up to rust-lang#149209 Part of rust-lang/compiler-team#908
Partially revert "resolve: Update `NameBindingData::vis` in place" Partial revert of rust-lang@227e7bd. This is a minimal fix for backporting to beta, I'll submit proper fixes later. Fixes rust-lang#152004 Fixes rust-lang#151124 Fixes rust-lang#152347
…narycat Correctly check if a macro call is actually a macro call in rustdoc highlighter Fixes rust-lang#151904. Issues was that if there was a `!` following an ident, we would always assume it's a macro call... except it's very lacking. I'm actually surprised it went for so long unnoticed. To fix it, I added a check for the next (non-blank) token after the `!`, if it's a `{` or a `[` or a `(`, then only do we consider it to be a macro call. r? @lolbinarycat
…ouwer Port #![test_runner] to the attribute parser Tracking issue: rust-lang#131229 r? @JonathanBrouwer
…, r=fmease Use cg_ssa's produce_final_output_artifacts in cg_clif
fix issue#152482 Close rust-lang#152482
…ags, r=lqd Clean up some subdiagnostics Just a nice minor cleanup :) * Removes some empty subdiagnostics which could just be subdiagnostic attributes * Convert some manual implementation of `Subdiagnostic` to derives
Implement `BinaryHeap::from_raw_vec` Implements rust-lang#152500. Adds a `BinaryHeap::from_raw_vec` function, which constructs a `BinaryHeap` without performing a heapify, for data that is already a max-heap.
|
CI is pretty clogged, partly because apple jobs are taking ages, so newly-approved jobs aren't getting a fair chance to encounter unknown failures. Let's partly mitigate that with some try jobs on the side. @bors try jobs=x86_64-msvc-1,i686-msvc-1,x86_64-mingw-1,test-various,armhf-gnu,aarch64-apple,x86_64-gnu-llvm-20-3 |
|
⌛ Trying commit 06cf898 with merge bf7dd0f… To cancel the try build, run the command Workflow: https://github.com/rust-lang/rust/actions/runs/21932635163 |
[EXPERIMENT] Rollup of 18 pull requests try-job: x86_64-msvc-1 try-job: i686-msvc-1 try-job: x86_64-mingw-1 try-job: test-various try-job: armhf-gnu try-job: aarch64-apple try-job: x86_64-gnu-llvm-20-3
|
☔ The latest upstream changes (presumably #152484) made this pull request unmergeable. Please resolve the merge conflicts. |
Successful merges:
?Sizedparams in int-ptr casts diag #152159 (Add note for?Sizedparams in int-ptr casts diag)QueryVTablefunctions for "executing" a query #152434 (Clarify names ofQueryVTablefunctions for "executing" a query)NameBindingData::visin place" #152498 (Partially revert "resolve: UpdateNameBindingData::visin place")BinaryHeap::from_raw_vec#152502 (ImplementBinaryHeap::from_raw_vec)r? @ghost
Create a similar rollup