88sample usage: src/etc/generate-deriving-span-tests.py
99"""
1010
11- import os , stat
11+ import os
12+ import stat
1213
1314TEST_DIR = os .path .abspath (
1415 os .path .join (os .path .dirname (__file__ ), '../test/ui/derives/' ))
5657
5758ENUM_TUPLE , ENUM_STRUCT , STRUCT_FIELDS , STRUCT_TUPLE = range (4 )
5859
60+
5961def create_test_case (type , trait , super_traits , error_count ):
6062 string = [ENUM_STRING , ENUM_STRUCT_VARIANT_STRING , STRUCT_STRING , STRUCT_TUPLE_STRING ][type ]
6163 all_traits = ',' .join ([trait ] + super_traits )
6264 super_traits = ',' .join (super_traits )
6365 error_deriving = '#[derive(%s)]' % super_traits if super_traits else ''
6466
6567 errors = '\n ' .join ('//~%s ERROR' % ('^' * n ) for n in range (error_count ))
66- code = string .format (traits = all_traits , errors = errors )
67- return TEMPLATE .format (error_deriving = error_deriving , code = code )
68+ code = string .format (traits = all_traits , errors = errors )
69+ return TEMPLATE .format (error_deriving = error_deriving , code = code )
70+
6871
6972def write_file (name , string ):
7073 test_file = os .path .join (TEST_DIR , 'derives-span-%s.rs' % name )
@@ -86,10 +89,10 @@ def write_file(name, string):
8689
8790traits = {
8891 'Default' : (STRUCT , [], 1 ),
89- 'FromPrimitive' : (0 , [], 0 ), # only works for C-like enums
92+ 'FromPrimitive' : (0 , [], 0 ), # only works for C-like enums
9093
91- 'Decodable' : (0 , [], 0 ), # FIXME: quoting gives horrible spans
92- 'Encodable' : (0 , [], 0 ), # FIXME: quoting gives horrible spans
94+ 'Decodable' : (0 , [], 0 ), # FIXME: quoting gives horrible spans
95+ 'Encodable' : (0 , [], 0 ), # FIXME: quoting gives horrible spans
9396}
9497
9598for (trait , supers , errs ) in [('Clone' , [], 1 ),
0 commit comments