diff options
| author | Taylor Cramer <cramertj@google.com> | 2018-02-13 17:52:22 -0800 |
|---|---|---|
| committer | Taylor Cramer <cramertj@google.com> | 2018-02-13 17:52:22 -0800 |
| commit | dbacf0c56ba2bd5ed38fc2a2e4bc20150271e7f2 (patch) | |
| tree | 0a78611bbedda3334c8417ea0dd3093495cce8e2 /src/test | |
| parent | f1fbf79223aca762c42c6674d125c4c5223f9949 (diff) | |
| download | rust-dbacf0c56ba2bd5ed38fc2a2e4bc20150271e7f2.tar.gz rust-dbacf0c56ba2bd5ed38fc2a2e4bc20150271e7f2.zip | |
Test err on impl Trait projection within dyn Trait
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/impl_trait_projections.rs | 9 | ||||
| -rw-r--r-- | src/test/ui/impl_trait_projections.stderr | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/test/ui/impl_trait_projections.rs b/src/test/ui/impl_trait_projections.rs index e34b7799fb7..f69a78b1450 100644 --- a/src/test/ui/impl_trait_projections.rs +++ b/src/test/ui/impl_trait_projections.rs @@ -7,7 +7,7 @@ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(conservative_impl_trait, universal_impl_trait)] +#![feature(dyn_trait, conservative_impl_trait, universal_impl_trait)] use std::fmt::Debug; use std::option; @@ -40,4 +40,11 @@ fn projection_with_named_trait_inside_path_is_disallowed() (1i32..100).next().unwrap() } +fn projection_from_impl_trait_inside_dyn_trait_is_disallowed() + -> <dyn Iterator<Item = impl Debug> as Iterator>::Item +//~^ ERROR `impl Trait` is not allowed in path parameters +{ + panic!() +} + fn main() {} diff --git a/src/test/ui/impl_trait_projections.stderr b/src/test/ui/impl_trait_projections.stderr index 2e8bfc931f8..08de0eb99a3 100644 --- a/src/test/ui/impl_trait_projections.stderr +++ b/src/test/ui/impl_trait_projections.stderr @@ -16,6 +16,12 @@ error[E0667]: `impl Trait` is not allowed in path parameters 37 | -> <::std::ops::Range<impl Debug> as Iterator>::Item | ^^^^^^^^^^ +error[E0667]: `impl Trait` is not allowed in path parameters + --> $DIR/impl_trait_projections.rs:44:29 + | +44 | -> <dyn Iterator<Item = impl Debug> as Iterator>::Item + | ^^^^^^^^^^ + error[E0223]: ambiguous associated type --> $DIR/impl_trait_projections.rs:23:50 | @@ -24,5 +30,5 @@ error[E0223]: ambiguous associated type | = note: specify the type using the syntax `<impl std::iter::Iterator as Trait>::Item` -error: aborting due to 4 previous errors +error: aborting due to 5 previous errors |
