aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2023-06-08 12:34:40 +0100
committerGitHub <noreply@github.com>2023-06-08 12:34:40 +0100
commit4c17e2e97ee401aab8f0a0a77806ebb1eebb935e (patch)
treea3d0a645a44e51d433d14d6cf9b6bdbdf59bdf69 /tests
parenteac53fed59bec2ec8bd0a8efff39bd2a195d9d45 (diff)
parent4d5a442d1f7d896e6628b68c0f03b07fa5239475 (diff)
Merge pull request #2552 from jcmoyer/fix-2466
Use compound literal storage for ValueDecl lvals
Diffstat (limited to 'tests')
-rw-r--r--tests/issues/run.bat1
-rwxr-xr-xtests/issues/run.sh1
-rw-r--r--tests/issues/test_issue_2466.odin22
3 files changed, 24 insertions, 0 deletions
diff --git a/tests/issues/run.bat b/tests/issues/run.bat
index 87492bc29..bf49bc85b 100644
--- a/tests/issues/run.bat
+++ b/tests/issues/run.bat
@@ -12,6 +12,7 @@ set COMMON=-collection:tests=..\..
..\..\..\odin test ..\test_issue_2056.odin %COMMON% -file || exit /b
..\..\..\odin test ..\test_issue_2087.odin %COMMON% -file || exit /b
..\..\..\odin build ..\test_issue_2113.odin %COMMON% -file -debug || exit /b
+..\..\..\odin test ..\test_issue_2466.odin %COMMON% -file || exit /b
@echo off
diff --git a/tests/issues/run.sh b/tests/issues/run.sh
index f894f2dae..bbcd6fb28 100755
--- a/tests/issues/run.sh
+++ b/tests/issues/run.sh
@@ -13,6 +13,7 @@ $ODIN test ../test_issue_1592.odin $COMMON -file
$ODIN test ../test_issue_2056.odin $COMMON -file
$ODIN test ../test_issue_2087.odin $COMMON -file
$ODIN build ../test_issue_2113.odin $COMMON -file -debug
+$ODIN test ../test_issue_2466.odin $COMMON -file
set +x
diff --git a/tests/issues/test_issue_2466.odin b/tests/issues/test_issue_2466.odin
new file mode 100644
index 000000000..4810cfea9
--- /dev/null
+++ b/tests/issues/test_issue_2466.odin
@@ -0,0 +1,22 @@
+// Tests issue #2466 https://github.com/odin-lang/Odin/issues/2466
+package test_issues
+
+import "core:fmt"
+import "core:testing"
+
+Bug :: struct {
+ val: int,
+ arr: []int,
+}
+
+@test
+test_compound_literal_local_reuse :: proc(t: ^testing.T) {
+ v: int = 123
+ bug := Bug {
+ val = v,
+ arr = {42},
+ }
+ testing.expect(t, bug.val == 123, fmt.tprintf("expected 123, found %d", bug.val))
+ testing.expect(t, bug.arr[0] == 42, fmt.tprintf("expected 42, found %d", bug.arr[0]))
+}
+