fixed all the compile-fail error messages

now that we've fixed the bug where constraint origins were getting overwritten, the good error messages are back (with some tweaks)
This commit is contained in:
Michael Hewson 2017-11-09 09:16:55 -05:00
parent dcbb27aa60
commit 31d3783050
3 changed files with 29 additions and 10 deletions

View File

@ -1,5 +1,3 @@
//~ ERROR mismatched types
//~| ERROR mismatched types
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
@ -16,7 +14,17 @@ struct Foo<'a,'b> {
}
impl<'a,'b> Foo<'a,'b> {
fn bar(self: Foo<'b,'a>) {}
fn bar(self:
Foo<'b,'a>
//~^ ERROR mismatched method receiver
//~| expected type `Foo<'a, 'b>`
//~| found type `Foo<'b, 'a>`
//~| lifetime mismatch
//~| ERROR mismatched method receiver
//~| expected type `Foo<'a, 'b>`
//~| found type `Foo<'b, 'a>`
//~| lifetime mismatch
) {}
}
fn main() {}

View File

@ -1,5 +1,3 @@
//~ ERROR mismatched types
//~| ERROR mismatched types
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
@ -16,6 +14,14 @@ struct Foo<'a> {
impl <'a> Foo<'a>{
fn bar(self: &mut Foo) {
//~^ mismatched method receiver
//~| expected type `Foo<'a>`
//~| found type `Foo<'_>`
//~| lifetime mismatch
//~| mismatched method receiver
//~| expected type `Foo<'a>`
//~| found type `Foo<'_>`
//~| lifetime mismatch
}
}

View File

@ -1,7 +1,3 @@
//~ ERROR mismatched types
//~| ERROR mismatched types
//~| ERROR mismatched types
//~| ERROR mismatched types
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
@ -51,8 +47,17 @@ trait SomeTrait {
impl<'a, T> SomeTrait for &'a Bar<T> {
fn dummy1(self: &&'a Bar<T>) { }
fn dummy2(self: &Bar<T>) {}
fn dummy2(self: &Bar<T>) {} //~ ERROR mismatched method receiver
//~^ ERROR mismatched method receiver
fn dummy3(self: &&Bar<T>) {}
//~^ ERROR mismatched method receiver
//~| expected type `&'a Bar<T>`
//~| found type `&Bar<T>`
//~| lifetime mismatch
//~| ERROR mismatched method receiver
//~| expected type `&'a Bar<T>`
//~| found type `&Bar<T>`
//~| lifetime mismatch
}
fn main() {