diff options
| author | The rustc-josh-sync Cronjob Bot <github-actions@github.com> | 2025-08-07 04:18:21 +0000 |
|---|---|---|
| committer | The rustc-josh-sync Cronjob Bot <github-actions@github.com> | 2025-08-07 04:18:21 +0000 |
| commit | e296468a473de9c4173f673e45f05da6dd911d7c (patch) | |
| tree | 40a1b0e61f6e6557bd7e91224505244287c0306f /tests/ui/methods | |
| parent | 4f96b2aa5e333fc1cad8b5987bfc2d18821d6d4d (diff) | |
| parent | 6bcdcc73bd11568fd85f5a38b58e1eda054ad1cd (diff) | |
| download | rust-e296468a473de9c4173f673e45f05da6dd911d7c.tar.gz rust-e296468a473de9c4173f673e45f05da6dd911d7c.zip | |
Merge ref '6bcdcc73bd11' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 6bcdcc73bd11568fd85f5a38b58e1eda054ad1cd Filtered ref: 6cc4ce79e1f8dc0ec5a2e18049b9c1a51dee3221 This merge was created using https://github.com/rust-lang/josh-sync.
Diffstat (limited to 'tests/ui/methods')
| -rw-r--r-- | tests/ui/methods/trait-method-resolution-over-inherent-22684.rs | 19 | ||||
| -rw-r--r-- | tests/ui/methods/trait-method-resolution-over-inherent-22684.stderr | 11 |
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/ui/methods/trait-method-resolution-over-inherent-22684.rs b/tests/ui/methods/trait-method-resolution-over-inherent-22684.rs new file mode 100644 index 00000000000..9f317b576e6 --- /dev/null +++ b/tests/ui/methods/trait-method-resolution-over-inherent-22684.rs @@ -0,0 +1,19 @@ +// https://github.com/rust-lang/rust/issues/22684 +mod foo { + pub struct Foo; + impl Foo { + fn bar(&self) {} + } + + pub trait Baz { + fn bar(&self) -> bool { true } + } + impl Baz for Foo {} +} + +fn main() { + use foo::Baz; + + // Check that `bar` resolves to the trait method, not the inherent impl method. + let _: () = foo::Foo.bar(); //~ ERROR mismatched types +} diff --git a/tests/ui/methods/trait-method-resolution-over-inherent-22684.stderr b/tests/ui/methods/trait-method-resolution-over-inherent-22684.stderr new file mode 100644 index 00000000000..0ab7701fa9e --- /dev/null +++ b/tests/ui/methods/trait-method-resolution-over-inherent-22684.stderr @@ -0,0 +1,11 @@ +error[E0308]: mismatched types + --> $DIR/trait-method-resolution-over-inherent-22684.rs:18:17 + | +LL | let _: () = foo::Foo.bar(); + | -- ^^^^^^^^^^^^^^ expected `()`, found `bool` + | | + | expected due to this + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0308`. |
