From 53307cd6b31b031c9b718df66eec8ba2f56d7f7b Mon Sep 17 00:00:00 2001 From: Brad Lewis <22850972+BradLewis@users.noreply.github.com> Date: Sun, 14 Sep 2025 08:19:46 -0400 Subject: Correct resolved types when slicing multi-pointers --- src/server/analysis.odin | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/server') diff --git a/src/server/analysis.odin b/src/server/analysis.odin index d11d8b0..570a035 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -1943,6 +1943,10 @@ resolve_slice_expression :: proc(ast_context: ^AstContext, slice_expr: ^ast.Slic case SymbolDynamicArrayValue: expr = v.expr case SymbolMultiPointerValue: + // Slicing multi-pointer behaviour outlined here: https://odin-lang.org/docs/overview/#multi-pointers + if slice_expr.high == nil { + return symbol, true + } expr = v.expr case SymbolUntypedValue: if v.type == .String { -- cgit v1.2.3