Skip to content

Commit 5a23dd5

Browse files
committed
move type-signature correction to a separate function
this allows us to correct the type signature before passing it to the generated function or returning it from ml_matches this also improves the fix for #11840 to cover Unions of the offending types
1 parent 7af99bd commit 5a23dd5

File tree

5 files changed

+241
-125
lines changed

5 files changed

+241
-125
lines changed

src/dump.c

+4-2
Original file line numberDiff line numberDiff line change
@@ -969,6 +969,7 @@ static void jl_serialize_methtable_from_mod(ios_t *s, jl_methtable_t *mt, int8_t
969969
jl_serialize_value(s, name);
970970
write_int8(s, iskw);
971971
jl_serialize_value(s, ml->sig);
972+
jl_serialize_value(s, ml->simplesig);
972973
jl_serialize_value(s, ml->func);
973974
jl_serialize_value(s, ml->tvars);
974975
}
@@ -1712,10 +1713,11 @@ static void jl_deserialize_lambdas_from_mod(ios_t *s)
17121713
int8_t iskw = read_int8(s);
17131714
if (iskw)
17141715
gf = jl_get_kwsorter(((jl_datatype_t*)jl_typeof(gf))->name);
1715-
jl_tupletype_t *types = (jl_tupletype_t*)jl_deserialize_value(s, NULL);
1716+
jl_tupletype_t *type = (jl_tupletype_t*)jl_deserialize_value(s, NULL);
1717+
jl_tupletype_t *simpletype = (jl_tupletype_t*)jl_deserialize_value(s, NULL);
17161718
jl_lambda_info_t *meth = (jl_lambda_info_t*)jl_deserialize_value(s, NULL);
17171719
jl_svec_t *tvars = (jl_svec_t*)jl_deserialize_value(s, NULL);
1718-
jl_method_table_insert(jl_gf_mtable(gf), types, meth, tvars);
1720+
jl_method_table_insert(jl_gf_mtable(gf), type, simpletype, meth, tvars);
17191721
}
17201722
}
17211723

0 commit comments

Comments
 (0)