Skip to content

Rollup of 12 pull requests #140112

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

Closed
wants to merge 35 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
8dc7732
Clarify why SGX code specifies linkage/symbol names for certain statics
Apr 14, 2025
a86df23
tests: rework `amdgpu-require-explicit-cpu.rs`
jieyouxu Apr 19, 2025
40b7332
tests: adjust some `augmented-assignment*` tests
jieyouxu Apr 19, 2025
b47fe51
tests: adjust `tests/ui/auto-instantiate.rs`
jieyouxu Apr 19, 2025
6be60e8
needed a stronger pause
tshepang Apr 19, 2025
d09b3c7
fix grammar
tshepang Apr 19, 2025
4861270
improve readability by adding pauses
tshepang Apr 19, 2025
021ebcc
Merge pull request #2348 from rust-lang/tshepang-error-pattern-cleaning
tshepang Apr 19, 2025
ae4b6d6
Update docs for `AssocItems::filter_by_name_unhygienic`
GuillaumeGomez Apr 19, 2025
e0437ec
Fix error when an intra doc link is trying to resolve an empty associ…
GuillaumeGomez Apr 19, 2025
88a5e1e
Add regression test for #140026
GuillaumeGomez Apr 19, 2025
df8a3d5
stabilize `naked_functions`
folkertdev Dec 18, 2024
c7e976e
rustdoc-json: Improve test for auto-trait impls
aDotInTheVoid Apr 20, 2025
fd4a093
jsondocck: Require command is at start of line
aDotInTheVoid Apr 20, 2025
4c20d17
Add ui test emit-output-types-without-args.rs
xizheyin Apr 20, 2025
6ea0fe5
Update `libc` to 0.2.172 for std
Berrysoft Apr 20, 2025
6033e9d
Don't compute name of associated item if it's an RPITIT
compiler-errors Apr 20, 2025
de93239
remove a couple clones
matthiaskrgr Apr 19, 2025
605af72
build_helper: try to rename dir before delete
ChrisDenton Apr 20, 2025
49b62ee
Preparing for merge from rustc
invalid-email-address Apr 21, 2025
d12c1f5
Merge from rustc
invalid-email-address Apr 21, 2025
c6510d9
Merge pull request #2349 from rust-lang/rustc-pull
tshepang Apr 21, 2025
6fe881c
Construct OutputType using macro and print [=FILENAME] help info
xizheyin Apr 20, 2025
c24ab05
Rollup merge of #134213 - folkertdev:stabilize-naked-functions, r=tgr…
jieyouxu Apr 21, 2025
626d70f
Rollup merge of #139795 - jethrogb:jb/sgx-linkage-comments, r=joboet
jieyouxu Apr 21, 2025
86208e6
Rollup merge of #139981 - compiler-errors:name-2, r=nnethercote
jieyouxu Apr 21, 2025
6707823
Rollup merge of #140036 - jieyouxu:ui-cleanup-4, r=compiler-errors
jieyouxu Apr 21, 2025
c197283
Rollup merge of #140047 - matthiaskrgr:clo, r=compiler-errors
jieyouxu Apr 21, 2025
9a68cd4
Rollup merge of #140052 - GuillaumeGomez:fix-140026, r=nnethercote
jieyouxu Apr 21, 2025
33ca5ca
Rollup merge of #140074 - aDotInTheVoid:auto-test, r=GuillaumeGomez
jieyouxu Apr 21, 2025
c1082cd
Rollup merge of #140076 - aDotInTheVoid:jsondocline, r=GuillaumeGomez
jieyouxu Apr 21, 2025
a0a0c7b
Rollup merge of #140077 - xizheyin:issue-139805, r=jieyouxu
jieyouxu Apr 21, 2025
1a01392
Rollup merge of #140081 - Berrysoft:update-libc-172, r=tgross35
jieyouxu Apr 21, 2025
bc9a96b
Rollup merge of #140091 - ChrisDenton:rename-remove, r=jieyouxu
jieyouxu Apr 21, 2025
043ee6f
Rollup merge of #140107 - tshepang:rdg-push, r=jieyouxu
jieyouxu Apr 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Don't compute name of associated item if it's an RPITIT
  • Loading branch information
compiler-errors committed Apr 20, 2025
commit 6033e9df02ecc6de27d840f3cab5e788f6b63441
Original file line number Diff line number Diff line change
Expand Up @@ -486,15 +486,15 @@ impl<'a, 'tcx> WrongNumberOfGenericArgs<'a, 'tcx> {
let items: &AssocItems = self.tcx.associated_items(self.def_id);
items
.in_definition_order()
.filter(|item| item.is_type())
.filter(|item| {
!self
.gen_args
.constraints
.iter()
.any(|constraint| constraint.ident.name == item.name())
item.is_type()
&& !item.is_impl_trait_in_trait()
&& !self
.gen_args
.constraints
.iter()
.any(|constraint| constraint.ident.name == item.name())
})
.filter(|item| !item.is_impl_trait_in_trait())
.map(|item| self.tcx.item_ident(item.def_id).to_string())
.collect()
} else {
Expand Down
6 changes: 3 additions & 3 deletions compiler/rustc_hir_analysis/src/hir_ty_lowering/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ use rustc_errors::codes::*;
use rustc_errors::{
Applicability, Diag, DiagCtxtHandle, ErrorGuaranteed, FatalError, struct_span_code_err,
};
use rustc_hir::def::{CtorKind, CtorOf, DefKind, Namespace, Res};
use rustc_hir::def::{CtorKind, CtorOf, DefKind, Res};
use rustc_hir::def_id::{DefId, LocalDefId};
use rustc_hir::{self as hir, AnonConst, GenericArg, GenericArgs, HirId};
use rustc_infer::infer::{InferCtxt, TyCtxtInferExt};
Expand Down Expand Up @@ -1731,9 +1731,9 @@ impl<'tcx> dyn HirTyLowerer<'tcx> + '_ {
tcx.associated_items(*trait_def_id)
.in_definition_order()
.any(|i| {
i.namespace() == Namespace::TypeNS
i.is_type()
&& !i.is_impl_trait_in_trait()
&& i.ident(tcx).normalize_to_macros_2_0() == assoc_ident
&& i.is_type()
})
// Consider only accessible traits
&& tcx.visibility(*trait_def_id)
Expand Down
12 changes: 12 additions & 0 deletions tests/ui/impl-trait/in-trait/dont-probe-missing-item-name-2.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
trait Foo {
fn rpitit() -> impl Sized;
}

// Ensure that we don't try to probe the name of the RPITIT when looking for
// fixes to suggest for the redundant generic below.

fn test<T: Foo<i32, Assoc = i32>>() {}
//~^ ERROR trait takes 0 generic arguments but 1 generic argument was supplied
//~| ERROR associated type `Assoc` not found for `Foo`

fn main() {}
24 changes: 24 additions & 0 deletions tests/ui/impl-trait/in-trait/dont-probe-missing-item-name-2.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
--> $DIR/dont-probe-missing-item-name-2.rs:8:12
|
LL | fn test<T: Foo<i32, Assoc = i32>>() {}
| ^^^------------------ help: remove the unnecessary generics
| |
| expected 0 generic arguments
|
note: trait defined here, with 0 generic parameters
--> $DIR/dont-probe-missing-item-name-2.rs:1:7
|
LL | trait Foo {
| ^^^

error[E0220]: associated type `Assoc` not found for `Foo`
--> $DIR/dont-probe-missing-item-name-2.rs:8:21
|
LL | fn test<T: Foo<i32, Assoc = i32>>() {}
| ^^^^^ associated type `Assoc` not found

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0107, E0220.
For more information about an error, try `rustc --explain E0107`.
11 changes: 11 additions & 0 deletions tests/ui/impl-trait/in-trait/dont-probe-missing-item-name-3.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
trait Trait {
fn method() -> impl Sized;
}

// Ensure that we don't try to probe the name of the RPITIT when looking for
// fixes to suggest for the missing associated type's trait path below.

fn foo() -> i32::Assoc {}
//~^ ERROR ambiguous associated type

fn main() {}
15 changes: 15 additions & 0 deletions tests/ui/impl-trait/in-trait/dont-probe-missing-item-name-3.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
error[E0223]: ambiguous associated type
--> $DIR/dont-probe-missing-item-name-3.rs:8:13
|
LL | fn foo() -> i32::Assoc {}
| ^^^^^^^^^^
|
help: if there were a trait named `Example` with associated type `Assoc` implemented for `i32`, you could use the fully-qualified path
|
LL - fn foo() -> i32::Assoc {}
LL + fn foo() -> <i32 as Example>::Assoc {}
|

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0223`.