vector-{ref,set!}: fix chaperone error for JIT-generated check

This commit is contained in:
Matthew Flatt 2017-07-23 08:27:14 -06:00
parent e98cfeae5b
commit e13d40c5ef

View File

@ -92,11 +92,7 @@ static void apply_prim_to_fail(int argc, Scheme_Object **argv, void *_p)
static Scheme_Object *vector_check_chaperone_of(Scheme_Object *o, Scheme_Object *orig, int setter) static Scheme_Object *vector_check_chaperone_of(Scheme_Object *o, Scheme_Object *orig, int setter)
{ {
if (!scheme_chaperone_of(o, orig)) if (!scheme_chaperone_of(o, orig))
scheme_contract_error((setter ? "vector-set!" : "vector-ref"), scheme_wrong_chaperoned((setter ? "vector-set!" : "vector-ref"), "result", orig, o);
"chaperone produced a result that is not a chaperone of the original result",
"chaperone result", 1, o,
"original result", 1, o,
NULL);
return o; return o;
} }