21 lines
497 B
OCaml
21 lines
497 B
OCaml
|
|
let[@zero_alloc] [@inline never] foo x = Base.Printf.failwithf "%d" x ()
|
||
|
|
let[@zero_alloc] [@inline never] bar x y = Base.Printf.invalid_argf "%d" (x + y) ()
|
||
|
|
|
||
|
|
let%expect_test "foo" =
|
||
|
|
let x = Sys.opaque_identity 5 in
|
||
|
|
(try foo x with
|
||
|
|
| Failure s ->
|
||
|
|
print_string s;
|
||
|
|
print_newline ());
|
||
|
|
[%expect {| 5 |}]
|
||
|
|
;;
|
||
|
|
|
||
|
|
let%expect_test "bar" =
|
||
|
|
let x = Sys.opaque_identity 5 in
|
||
|
|
(try bar x x with
|
||
|
|
| Invalid_argument s ->
|
||
|
|
print_string s;
|
||
|
|
print_newline ());
|
||
|
|
[%expect {| 10 |}]
|
||
|
|
;;
|