Skip to content

Commit

Permalink
Correct assertion checking for deleted typemap entry
Browse files Browse the repository at this point in the history
This assertion was added in #27568. However from my understanding
the first part of the assertion is wrong, since that PR added
logic to mark deleted typemap entries as min_world 0, max_world 1.
It seems valid for a typemap entry to be deleted, even if the referenced
(while the reverse does not seem valid).

Fixes #28213
  • Loading branch information
Keno committed Jul 20, 2018
1 parent 383751c commit dfc1493
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions src/dump.c
Original file line number Diff line number Diff line change
Expand Up @@ -1883,8 +1883,7 @@ static jl_value_t *jl_deserialize_typemap_entry(jl_serializer_state *s)
jl_deserialize_struct(s, v, 1);
#ifndef NDEBUG
if (te->func.value && jl_typeis(te->func.value, jl_method_instance_type)) {
assert(((te->func.linfo->max_world == 0 &&
te->func.linfo->min_world == 1) ||
assert(((te->max_world == 0 && te->min_world == 1) ||
(te->func.linfo->max_world >= te->max_world &&
te->func.linfo->min_world <= te->min_world)) &&
"corrupt typemap entry structure");
Expand Down

0 comments on commit dfc1493

Please sign in to comment.