@@ -146,7 +146,6 @@ static int typeenv_has(jl_typeenv_t *env, jl_tvar_t *v)
146146static int has_free_typevars (jl_value_t * v , jl_typeenv_t * env )
147147{
148148 if (jl_typeis (v , jl_tvar_type )) {
149- if (v == jl_ANY_flag ) return 0 ;
150149 return !typeenv_has (env , (jl_tvar_t * )v );
151150 }
152151 if (jl_is_uniontype (v ))
@@ -181,7 +180,6 @@ JL_DLLEXPORT int jl_has_free_typevars(jl_value_t *v)
181180static void find_free_typevars (jl_value_t * v , jl_typeenv_t * env , jl_array_t * out )
182181{
183182 if (jl_typeis (v , jl_tvar_type )) {
184- if (v == jl_ANY_flag ) return ;
185183 if (!typeenv_has (env , (jl_tvar_t * )v ))
186184 jl_array_ptr_1d_push (out , v );
187185 }
@@ -238,7 +236,7 @@ static int jl_has_bound_typevars(jl_value_t *v, jl_typeenv_t *env)
238236 return ans ;
239237 }
240238 if (jl_is_datatype (v )) {
241- if (!((jl_datatype_t * )v )-> hasfreetypevars && !( env && env -> var == ( jl_tvar_t * ) jl_ANY_flag ) )
239+ if (!((jl_datatype_t * )v )-> hasfreetypevars )
242240 return 0 ;
243241 size_t i ;
244242 for (i = 0 ; i < jl_nparams (v ); i ++ ) {
@@ -669,8 +667,6 @@ static int is_cacheable(jl_datatype_t *type)
669667 assert (jl_is_datatype (type ));
670668 jl_svec_t * t = type -> parameters ;
671669 if (jl_svec_len (t ) == 0 ) return 0 ;
672- if (jl_has_typevar ((jl_value_t * )type , (jl_tvar_t * )jl_ANY_flag ))
673- return 0 ;
674670 // cache abstract types with no free type vars
675671 if (jl_is_abstracttype (type ))
676672 return !jl_has_free_typevars ((jl_value_t * )type );
@@ -1939,7 +1935,7 @@ void jl_init_types(void)
19391935 jl_method_type =
19401936 jl_new_datatype (jl_symbol ("Method" ), core ,
19411937 jl_any_type , jl_emptysvec ,
1942- jl_perm_symsvec (19 ,
1938+ jl_perm_symsvec (20 ,
19431939 "name" ,
19441940 "module" ,
19451941 "file" ,
@@ -1956,10 +1952,11 @@ void jl_init_types(void)
19561952 "invokes" ,
19571953 "nargs" ,
19581954 "called" ,
1955+ "nospec" ,
19591956 "isva" ,
19601957 "isstaged" ,
19611958 "pure" ),
1962- jl_svec (19 ,
1959+ jl_svec (20 ,
19631960 jl_sym_type ,
19641961 jl_module_type ,
19651962 jl_sym_type ,
@@ -1976,6 +1973,7 @@ void jl_init_types(void)
19761973 jl_any_type ,
19771974 jl_int32_type ,
19781975 jl_int32_type ,
1976+ jl_int32_type ,
19791977 jl_bool_type ,
19801978 jl_bool_type ,
19811979 jl_bool_type ),
0 commit comments