]> git.lizzy.rs Git - rust.git/blob - tests/ui/type-alias-impl-trait/issue-84660-trait-impl-for-tait.rs
Rollup merge of #107078 - ehuss:invalid_doc_attributes-docs, r=jackh726
[rust.git] / tests / ui / type-alias-impl-trait / issue-84660-trait-impl-for-tait.rs
1 // Regression test for issues #84660 and #86411: both are variations on #76202.
2 // Tests that we don't ICE when we have an opaque type appearing anywhere in an impl header.
3
4 // check-pass
5
6 #![feature(type_alias_impl_trait)]
7
8 trait Foo {}
9 impl Foo for () {}
10 type Bar = impl Foo;
11 fn _defining_use() -> Bar {}
12
13 trait TraitArg<T> {
14     fn f();
15 }
16
17 impl TraitArg<Bar> for () {
18     fn f() {
19         println!("ho");
20     }
21 }
22
23 fn main() {
24     <() as TraitArg<Bar>>::f();
25 }