Skip to content

Commit a1f6dd1

Browse files
authored
Merge pull request #534 from FStarLang/gebner_subslice
Support Pulse.Lib.Slice.subslice
2 parents 1d81d75 + 0c42641 commit a1f6dd1

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

lib/AstToMiniRust.ml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -753,6 +753,12 @@ and translate_expr_with_type (env: env) (e: Ast.expr) (t_ret: MiniRust.typ): env
753753
let env, e2 = translate_expr env e2 in
754754
env, MethodCall (e1, ["split_at"], [ e2 ])
755755

756+
| EApp ({ node = ETApp ({ node = EQualified (["Pulse"; "Lib"; "Slice"], "subslice"); _ }, [], [], [_]); _ }, [e1; e2; e3]) ->
757+
let env, e1 = translate_expr env e1 in
758+
let env, e2 = translate_expr env e2 in
759+
let env, e3 = translate_expr env e3 in
760+
env, Borrow (Shared, Index (e1, Range (Some e2, Some e3, false)))
761+
756762
| EApp ({ node = ETApp ({ node = EQualified (["Pulse"; "Lib"; "Slice"], "copy"); _ }, [], [], _); _ }, [e1; e2]) ->
757763
let env, e1 = translate_expr env e1 in
758764
let env, e2 = translate_expr env e2 in

0 commit comments

Comments
 (0)