File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -62,4 +62,22 @@ mod tests {
6262 assert_eq ! ( result. matching_source. as_str( ) , "@@u64" ) ;
6363 assert ! ( result. target_ty. downcast_reference( ) . is_some( ) ) ;
6464 }
65+
66+ #[ test]
67+ fn test_u8_ref ( ) {
68+ let mut parser = Parser :: new ( Lexer :: new_test ( "@u8" ) ) ;
69+ let ref_ty = ReferenceTy :: parse ( & mut parser) . unwrap ( ) ;
70+ assert_eq ! ( ref_ty. matching_source. len( ) , 3 ) ;
71+ assert_eq ! ( ref_ty. target_ty. downcast_primitive( ) . unwrap( ) . variant, AtomicTyVariant :: U8 ) ;
72+ }
73+
74+ #[ test]
75+ fn test_nested_ref ( ) {
76+ let mut parser = Parser :: new ( Lexer :: new_test ( "@@u8" ) ) ;
77+ let ref_ty = ReferenceTy :: parse ( & mut parser) . unwrap ( ) ;
78+ assert_eq ! ( ref_ty. matching_source. len( ) , 4 ) ;
79+ let inner_ref = ref_ty. target_ty . downcast_reference ( ) . unwrap ( ) ;
80+ assert_eq ! ( inner_ref. matching_source. len( ) , 3 ) ;
81+ assert_eq ! ( inner_ref. target_ty. downcast_primitive( ) . unwrap( ) . variant, AtomicTyVariant :: U8 ) ;
82+ }
6583}
You can’t perform that action at this time.
0 commit comments