mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
Add regression test for 133065
This commit is contained in:
@@ -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`.
|
||||
Reference in New Issue
Block a user