File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed
src/test/ui/higher-rank-trait-bounds/normalize-under-binder Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change 1+ // check-pass
2+
3+ #![ allow( unused) ]
4+
5+ trait MiniYokeable < ' a > {
6+ type Output ;
7+ }
8+
9+ struct MiniYoke < Y : for < ' a > MiniYokeable < ' a > > {
10+ pub yokeable : Y ,
11+ }
12+
13+ fn map_project_broken < Y , P > (
14+ source : MiniYoke < Y > ,
15+ f : impl for < ' a > FnOnce (
16+ <Y as MiniYokeable < ' a > >:: Output ,
17+ core:: marker:: PhantomData < & ' a ( ) > ,
18+ ) -> <P as MiniYokeable < ' a > >:: Output ,
19+ ) -> MiniYoke < P >
20+ where
21+ Y : for < ' a > MiniYokeable < ' a > ,
22+ P : for < ' a > MiniYokeable < ' a >
23+ {
24+ unimplemented ! ( )
25+ }
26+
27+ struct Bar < ' a > {
28+ string_1 : & ' a str ,
29+ string_2 : & ' a str ,
30+ }
31+
32+ impl < ' a > MiniYokeable < ' a > for Bar < ' static > {
33+ type Output = Bar < ' a > ;
34+ }
35+
36+ impl < ' a > MiniYokeable < ' a > for & ' static str {
37+ type Output = & ' a str ;
38+ }
39+
40+ fn demo_broken ( bar : MiniYoke < Bar < ' static > > ) -> MiniYoke < & ' static str > {
41+ map_project_broken ( bar, |bar, _| bar. string_1 )
42+ }
43+
44+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments