@@ -49,34 +49,37 @@ impl<const N: usize> Foo<N> for BokType<N> {
49
49
}
50
50
impl < const N : usize > Bok < N > for BokType < N > { }
51
51
52
- fn a < const N : usize > ( _: & dyn Foo < N > ) { }
53
- fn b ( _: & dyn Foo < 3 > ) { }
54
- fn c < T : Bok < N > , const N : usize > ( x : T ) { a :: < N > ( & x) ; }
55
- fn d < T : ?Sized + Foo < 3 > > ( _: & T ) { }
56
- fn e ( x : & dyn Bar < 3 > ) { d ( x) ; }
57
-
58
- fn get_myfun < const N : usize > ( x : & dyn Foo < N > ) -> usize { x. myfun ( ) }
52
+ fn a < const N : usize > ( x : & dyn Foo < N > ) -> usize { x. myfun ( ) }
53
+ fn b ( x : & dyn Foo < 3 > ) -> usize { x. myfun ( ) }
54
+ fn c < T : Bok < N > , const N : usize > ( x : T ) -> usize { a :: < N > ( & x) }
55
+ fn d < T : ?Sized + Foo < 3 > > ( x : & T ) -> usize { x. myfun ( ) }
56
+ fn e ( x : & dyn Bar < 3 > ) -> usize { d ( x) }
59
57
60
58
fn main ( ) {
61
59
let foo = FooType :: < 3 > { } ;
62
- a ( & foo) ; b ( & foo) ; d ( & foo) ;
63
- assert ! ( get_myfun( & foo) == 3 ) ;
60
+ assert ! ( a( & foo) == 3 ) ;
61
+ assert ! ( b( & foo) == 3 ) ;
62
+ assert ! ( d( & foo) == 3 ) ;
64
63
65
64
let bar = BarType :: < 3 > { } ;
66
- a ( & bar) ; b ( & bar) ; d ( & bar) ; e ( & bar) ;
67
- assert ! ( get_myfun( & bar) == 4 ) ;
65
+ assert ! ( a( & bar) == 4 ) ;
66
+ assert ! ( b( & bar) == 4 ) ;
67
+ assert ! ( d( & bar) == 4 ) ;
68
+ assert ! ( e( & bar) == 4 ) ;
68
69
69
70
let baz = BazType { } ;
70
- a ( & baz) ; b ( & baz) ; d ( & baz) ;
71
- assert ! ( get_myfun( & baz) == 999 ) ;
71
+ assert ! ( a( & baz) == 999 ) ;
72
+ assert ! ( b( & baz) == 999 ) ;
73
+ assert ! ( d( & baz) == 999 ) ;
72
74
73
75
let boz = BozType { } ;
74
- a ( & boz) ; b ( & boz) ; d ( & boz) ;
75
- assert ! ( get_myfun( & boz) == 9999 ) ;
76
+ assert ! ( a( & boz) == 9999 ) ;
77
+ assert ! ( b( & boz) == 9999 ) ;
78
+ assert ! ( d( & boz) == 9999 ) ;
76
79
77
80
let bok = BokType :: < 3 > { } ;
78
- a ( & bok) ; b ( & bok ) ; d ( & bok ) ;
79
- assert ! ( get_myfun ( & bok) == 5 ) ;
80
-
81
- c ( BokType :: < 3 > { } ) ;
81
+ assert ! ( a( & bok) == 5 ) ;
82
+ assert ! ( b ( & bok) == 5 ) ;
83
+ assert ! ( d ( & bok ) == 5 ) ;
84
+ assert ! ( c( BokType :: <3 > { } ) == 5 ) ;
82
85
}
0 commit comments