Skip to content
Permalink
Browse files

Add test

  • Loading branch information...
varkor committed May 10, 2019
1 parent 26afc4f commit aa9369c7a4f463ea9e2d1f5ceecccbeb026baa41
Showing with 44 additions and 0 deletions.
  1. +15 −0 src/test/ui/existential-type/issue-60371.rs
  2. +29 −0 src/test/ui/existential-type/issue-60371.stderr
@@ -0,0 +1,15 @@
trait Bug {
type Item: Bug;

const FUN: fn() -> Self::Item;
}

impl Bug for &() {
existential type Item: Bug; //~ ERROR existential types are unstable
//~^ ERROR the trait bound `(): Bug` is not satisfied
//~^^ ERROR could not find defining uses

const FUN: fn() -> Self::Item = || ();
}

fn main() {}
@@ -0,0 +1,29 @@
error[E0658]: existential types are unstable
--> $DIR/issue-60371.rs:8:5
|
LL | existential type Item: Bug;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/34511
= help: add #![feature(existential_type)] to the crate attributes to enable

error[E0277]: the trait bound `(): Bug` is not satisfied
--> $DIR/issue-60371.rs:8:5
|
LL | existential type Item: Bug;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Bug` is not implemented for `()`
|
= help: the following implementations were found:
<&() as Bug>
= note: the return type of a function must have a statically known size

error: could not find defining uses
--> $DIR/issue-60371.rs:8:5
|
LL | existential type Item: Bug;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0277, E0658.
For more information about an error, try `rustc --explain E0277`.

0 comments on commit aa9369c

Please sign in to comment.
You can’t perform that action at this time.