diff options
Diffstat (limited to 'testsuite/tests/prim-revapply/revapply.ml')
-rw-r--r-- | testsuite/tests/prim-revapply/revapply.ml | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/testsuite/tests/prim-revapply/revapply.ml b/testsuite/tests/prim-revapply/revapply.ml index 4a72154724..f65b109da5 100644 --- a/testsuite/tests/prim-revapply/revapply.ml +++ b/testsuite/tests/prim-revapply/revapply.ml @@ -30,3 +30,20 @@ let _f x = x |> bump (* no warning 48 *) type t = A | B type s = A | B let _f (x : t) = x |> function A -> 0 | B -> 1 + +(* Abstract functions *) +let _ = + let module A:sig + type f + type x + val succ: f + val zero:x + external (|>): x -> f -> int = "%revapply" + end = struct + type f = int -> int + type x = int + let succ = succ + let zero = 0 + external (|>): x -> f -> int = "%revapply" + end in + A.(zero |> succ) |