File tree 3 files changed +27
-0
lines changed
compiler/rustc_middle/src/ty
3 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -59,6 +59,10 @@ impl FlagComputation {
59
59
{
60
60
let mut computation = FlagComputation :: new ( ) ;
61
61
62
+ if !value. bound_vars ( ) . is_empty ( ) {
63
+ computation. flags = computation. flags | TypeFlags :: HAS_RE_LATE_BOUND ;
64
+ }
65
+
62
66
f ( & mut computation, value. skip_binder ( ) ) ;
63
67
64
68
self . add_flags ( computation. flags ) ;
Original file line number Diff line number Diff line change
1
+ // build-pass
2
+ // compile-flags: --edition 2018
3
+ // compile-flags: --crate-type rlib
4
+
5
+ use std:: future:: Future ;
6
+
7
+ async fn handle < F > ( slf : & F )
8
+ where
9
+ F : Fn ( & ( ) ) -> Box < dyn for < ' a > Future < Output = ( ) > + Unpin > ,
10
+ {
11
+ ( slf) ( & ( ) ) . await ;
12
+ }
13
+
14
+ fn main ( ) { }
Original file line number Diff line number Diff line change
1
+ // run-pass
2
+ // compile-flags: -Zsymbol-mangling-version=v0
3
+
4
+ pub fn f < T : ?Sized > ( ) { }
5
+ pub trait Frob < T : ?Sized > { }
6
+ fn main ( ) {
7
+ f :: < dyn Frob < str > > ( ) ;
8
+ f :: < dyn for < ' a > Frob < str > > ( ) ;
9
+ }
You can’t perform that action at this time.
0 commit comments