From 0c4264154c7eb94e2f465d832d6dcf88be4df1f7 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Wed, 12 Feb 2025 11:19:07 -0800 Subject: [PATCH] Support Pulse.Lib.Slice.subslice --- lib/AstToMiniRust.ml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/AstToMiniRust.ml b/lib/AstToMiniRust.ml index 4edfed00..e366bf79 100644 --- a/lib/AstToMiniRust.ml +++ b/lib/AstToMiniRust.ml @@ -753,6 +753,12 @@ and translate_expr_with_type (env: env) (e: Ast.expr) (t_ret: MiniRust.typ): env let env, e2 = translate_expr env e2 in env, MethodCall (e1, ["split_at"], [ e2 ]) + | EApp ({ node = ETApp ({ node = EQualified (["Pulse"; "Lib"; "Slice"], "subslice"); _ }, [], [], [_]); _ }, [e1; e2; e3]) -> + let env, e1 = translate_expr env e1 in + let env, e2 = translate_expr env e2 in + let env, e3 = translate_expr env e3 in + env, Borrow (Shared, Index (e1, Range (Some e2, Some e3, false))) + | EApp ({ node = ETApp ({ node = EQualified (["Pulse"; "Lib"; "Slice"], "copy"); _ }, [], [], _); _ }, [e1; e2]) -> let env, e1 = translate_expr env e1 in let env, e2 = translate_expr env e2 in