diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-06-19 01:52:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-19 01:52:09 +0200 |
| commit | dcd5b20177f7b8408ccc42869e9151f7cfd45686 (patch) | |
| tree | 4239b39070ca468e87d536f580c822b77d00037b /src/test | |
| parent | 4f2471574548c1cd0ef0f65c03eae525147fb1a8 (diff) | |
| parent | dedf2eda8f6d062da91c80a8980b3b794f5c876e (diff) | |
| download | rust-dcd5b20177f7b8408ccc42869e9151f7cfd45686.tar.gz rust-dcd5b20177f7b8408ccc42869e9151f7cfd45686.zip | |
Rollup merge of #61896 - eddyb:correct-self-ctor, r=petrochenkov
rustc_typeck: correctly compute `Substs` for `Res::SelfCtor`. Fixes #61882. r? @petrochenkov cc @varkor
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/issues/issue-57924.rs (renamed from src/test/run-pass/issues/issue-57924.rs) | 1 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-57924.stderr | 9 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-61882-2.rs | 11 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-61882-2.stderr | 15 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-61882.rs | 9 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-61882.stderr | 21 |
6 files changed, 66 insertions, 0 deletions
diff --git a/src/test/run-pass/issues/issue-57924.rs b/src/test/ui/issues/issue-57924.rs index 232596334b0..dc2942225e3 100644 --- a/src/test/run-pass/issues/issue-57924.rs +++ b/src/test/ui/issues/issue-57924.rs @@ -3,6 +3,7 @@ pub struct Gcm<E>(E); impl<E> Gcm<E> { pub fn crash(e: E) -> Self { Self::<E>(e) + //~^ ERROR type arguments are not allowed for this type } } diff --git a/src/test/ui/issues/issue-57924.stderr b/src/test/ui/issues/issue-57924.stderr new file mode 100644 index 00000000000..2f184b1aae1 --- /dev/null +++ b/src/test/ui/issues/issue-57924.stderr @@ -0,0 +1,9 @@ +error[E0109]: type arguments are not allowed for this type + --> $DIR/issue-57924.rs:5:16 + | +LL | Self::<E>(e) + | ^ type argument not allowed + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0109`. diff --git a/src/test/ui/issues/issue-61882-2.rs b/src/test/ui/issues/issue-61882-2.rs new file mode 100644 index 00000000000..1209b54bc41 --- /dev/null +++ b/src/test/ui/issues/issue-61882-2.rs @@ -0,0 +1,11 @@ +struct A<T>(T); + +impl A<&'static u8> { + fn f() { + let x = 0; + Self(&x); + //~^ ERROR `x` does not live long enough + } +} + +fn main() {} diff --git a/src/test/ui/issues/issue-61882-2.stderr b/src/test/ui/issues/issue-61882-2.stderr new file mode 100644 index 00000000000..03a65540ced --- /dev/null +++ b/src/test/ui/issues/issue-61882-2.stderr @@ -0,0 +1,15 @@ +error[E0597]: `x` does not live long enough + --> $DIR/issue-61882-2.rs:6:14 + | +LL | Self(&x); + | ^^ + | | + | borrowed value does not live long enough + | requires that `x` is borrowed for `'static` +LL | +LL | } + | - `x` dropped here while still borrowed + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0597`. diff --git a/src/test/ui/issues/issue-61882.rs b/src/test/ui/issues/issue-61882.rs new file mode 100644 index 00000000000..013398b4598 --- /dev/null +++ b/src/test/ui/issues/issue-61882.rs @@ -0,0 +1,9 @@ +struct A<T>(T); + +impl A<bool> { + const B: A<u8> = Self(0); + //~^ ERROR mismatched types + //~| ERROR mismatched types +} + +fn main() {} diff --git a/src/test/ui/issues/issue-61882.stderr b/src/test/ui/issues/issue-61882.stderr new file mode 100644 index 00000000000..a14e1a4dd4d --- /dev/null +++ b/src/test/ui/issues/issue-61882.stderr @@ -0,0 +1,21 @@ +error[E0308]: mismatched types + --> $DIR/issue-61882.rs:4:27 + | +LL | const B: A<u8> = Self(0); + | ^ expected bool, found integer + | + = note: expected type `bool` + found type `{integer}` + +error[E0308]: mismatched types + --> $DIR/issue-61882.rs:4:22 + | +LL | const B: A<u8> = Self(0); + | ^^^^^^^ expected u8, found bool + | + = note: expected type `A<u8>` + found type `A<bool>` + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0308`. |
