diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/issues/issue-33461.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-33461.rs b/src/test/ui/issues/issue-33461.rs new file mode 100644 index 000000000..4e01d4d30 --- /dev/null +++ b/src/test/ui/issues/issue-33461.rs @@ -0,0 +1,28 @@ +// run-pass +#![allow(unused_variables)] +use std::marker::PhantomData; + +struct TheType<T> { + t: PhantomData<T> +} + +pub trait TheTrait { + type TheAssociatedType; +} + +impl TheTrait for () { + type TheAssociatedType = (); +} + +pub trait Shape<P: TheTrait> { + fn doit(&self) { + } +} + +impl<P: TheTrait> Shape<P> for TheType<P::TheAssociatedType> { +} + +fn main() { + let ball = TheType { t: PhantomData }; + let handle: &dyn Shape<()> = &ball; +} |