Add regression test for 133065

This commit is contained in:
reddevilmidzy
2025-05-02 15:53:51 +09:00
parent 3350c1eb3f
commit a9cd0a9f03
2 changed files with 31 additions and 0 deletions
@@ -0,0 +1,19 @@
//@compile-flags: -Zvalidate-mir -Zinline-mir -Zinline-mir-threshold=300
//! Ensure that a trait method implemented with the wrong signature
//! correctly triggers a compile error and not an ICE.
//! Regression test for <https://github.com/rust-lang/rust/issues/133065>.
trait Bar {
fn bar(&self) {}
}
impl<T> Bar for T {
fn bar() { //~ ERROR method `bar` has a `&self` declaration in the trait, but not in the impl
let _ = "Hello".bytes().nth(3);
}
}
fn main() {
().bar();
}
@@ -0,0 +1,12 @@
error[E0186]: method `bar` has a `&self` declaration in the trait, but not in the impl
--> $DIR/trait-impl-self-mismatch.rs:12:5
|
LL | fn bar(&self) {}
| ------------- `&self` used in trait
...
LL | fn bar() {
| ^^^^^^^^ expected `&self` in impl
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0186`.