fix make-reader-graph on proxied vectors

This commit is contained in:
Matthew Flatt 2010-09-17 18:41:43 -06:00
parent 0d76f8ecbf
commit d92c4e44e2
2 changed files with 5 additions and 1 deletions

View File

@ -134,6 +134,8 @@
(test #t chaperone?/proxy (chaperone-vector (vector-immutable 1 2 3) (lambda (b i v) v) (lambda (b i v) v))) (test #t chaperone?/proxy (chaperone-vector (vector-immutable 1 2 3) (lambda (b i v) v) (lambda (b i v) v)))
(err/rt-test (proxy-vector (vector-immutable 1 2 3) (lambda (b i v) v) (lambda (b i v) v))) (err/rt-test (proxy-vector (vector-immutable 1 2 3) (lambda (b i v) v) (lambda (b i v) v)))
(test #(1 2 3) make-reader-graph (chaperone-vector (vector 1 2 3) (lambda (b i v) v) (lambda (b i v) v)))
(as-chaperone-or-proxy (as-chaperone-or-proxy
([chaperone-vector proxy-vector] ([chaperone-vector proxy-vector]
[chaperone-of? proxy-of?]) [chaperone-of? proxy-of?])

View File

@ -698,7 +698,9 @@ Scheme_Object *scheme_chaperone_vector_copy(Scheme_Object *vec)
a[1] = scheme_make_integer(0); a[1] = scheme_make_integer(0);
a[2] = vec; a[2] = vec;
return vector_copy_bang(3, a); (void)vector_copy_bang(3, a);
return vec2;
} }
static Scheme_Object *vector_to_immutable (int argc, Scheme_Object *argv[]) static Scheme_Object *vector_to_immutable (int argc, Scheme_Object *argv[])