From 6c5665393e1d755c4c7a5ca5687e303224001b93 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Thu, 12 Nov 2015 22:18:14 +0100 Subject: fix 0007026 - remove write barrier for constant poly variants - add tests --- testsuite/tests/translprim/ref_spec.ml | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'testsuite/tests/translprim/ref_spec.ml') diff --git a/testsuite/tests/translprim/ref_spec.ml b/testsuite/tests/translprim/ref_spec.ml index 37553ef914..3a01bf8dba 100644 --- a/testsuite/tests/translprim/ref_spec.ml +++ b/testsuite/tests/translprim/ref_spec.ml @@ -40,3 +40,13 @@ gen_rec.y <- D "foo";; gen_rec.y <- C;; flt_rec.y <- 1.;; flt_rec'.z <- 1.;; + +(* must use a write barrier, type is open *) +let set_open_poly (r:[>`Foo] ref) y = r := y ;; +let set_open_poly (r:[<`Foo] ref) y = r := y ;; +let set_open_poly (r:[`Foo] ref) y = r := y ;; +let set_open_poly (r:[< `Bar | `Foo | `Baz > `Foo `Bar] ref) y = r := y ;; +let set_open_poly (r:[>`Foo of int] ref) y = r := y ;; +let set_open_poly (r:[<`Foo of int] ref) y = r := y ;; +let set_open_poly (r:[`Foo of int] ref) y = r := y ;; +let set_open_poly (r:[< `Bar | `Foo of float | `Baz > `Foo `Bar] ref) y = r := y ;; -- cgit v1.2.1