@@ -49,34 +49,37 @@ impl<const N: usize> Foo<N> for BokType<N> {
4949}
5050impl < const N : usize > Bok < N > for BokType < N > { }
5151
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) }
5957
6058fn main ( ) {
6159 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 ) ;
6463
6564 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 ) ;
6869
6970 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 ) ;
7274
7375 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 ) ;
7679
7780 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 ) ;
8285}
0 commit comments