13 lines
301 B
Plaintext
13 lines
301 B
Plaintext
(type u32 (primitive u32))
|
|
(type A (enum (A1 (x u32)) (A2 (x u32))))
|
|
(type B (enum (B1 (x u32)) (B2 (x u32))))
|
|
|
|
(decl Input (A) u32)
|
|
(extractor Input get_input) ;; fn get_input<C>(ctx: &mut C, ret: u32) -> Option<(A,)>
|
|
|
|
(decl Lower (A) B)
|
|
|
|
(rule
|
|
(Lower (A.A1 sub @ (Input (A.A2 42))))
|
|
(B.B2 sub))
|