about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2019-01-22 14:49:18 +0100
committerFelix S. Klock II <pnkfelix@pnkfx.org>2019-01-22 14:49:18 +0100
commit33c2ceb3a2b769fb3f2f6019b1071439f0dc6444 (patch)
treea3830d57e0e06e6a29989dccf233693196dbfff9 /src
parent2dea8ec630eebabee46bc51b3ea14fe5e88834c1 (diff)
downloadrust-33c2ceb3a2b769fb3f2f6019b1071439f0dc6444.tar.gz
rust-33c2ceb3a2b769fb3f2f6019b1071439f0dc6444.zip
unit test for issue 57673.
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs7
-rw-r--r--src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.stderr14
2 files changed, 21 insertions, 0 deletions
diff --git a/src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs b/src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs
new file mode 100644
index 00000000000..0a4e7da2bff
--- /dev/null
+++ b/src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs
@@ -0,0 +1,7 @@
+//extern crate has_assoc_type;
+
+//fn ice(x: Box<dyn has_assoc_type::Foo<Assoc=()>>) {
+fn ice(x: Box<dyn Iterator<Item=()>>) {
+    *x //~ ERROR mismatched types [E0308]
+}
+fn main() {}
diff --git a/src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.stderr b/src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.stderr
new file mode 100644
index 00000000000..bb63917fc08
--- /dev/null
+++ b/src/test/ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.stderr
@@ -0,0 +1,14 @@
+error[E0308]: mismatched types
+  --> $DIR/issue-57673-ice-on-deref-of-boxed-trait.rs:5:5
+   |
+LL | fn ice(x: Box<dyn Iterator<Item=()>>) {
+   |                                       - possibly return type missing here?
+LL |     *x //~ ERROR mismatched types [E0308]
+   |     ^^ expected (), found trait std::iter::Iterator
+   |
+   = note: expected type `()`
+              found type `(dyn std::iter::Iterator<Item=()> + 'static)`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.