adds the cases of #5043 and #5097 to the CI

This commit is contained in:
Laytan Laats
2025-04-30 20:13:21 +02:00
parent e64bcc7709
commit d2f8cb1306
4 changed files with 42 additions and 0 deletions

View File

@@ -17,6 +17,8 @@ set COMMON=-define:ODIN_TEST_FANCY=false -file -vet -strict-style
..\..\..\odin test ..\test_issue_2666.odin %COMMON% || exit /b
..\..\..\odin test ..\test_issue_4210.odin %COMMON% || exit /b
..\..\..\odin test ..\test_issue_4584.odin %COMMON% || exit /b
..\..\..\odin build ..\test_issue_5043.odin %COMMON% || exit /b
..\..\..\odin build ..\test_issue_5097.odin %COMMON% || exit /b
@echo off

View File

@@ -24,6 +24,8 @@ else
echo "SUCCESSFUL 0/1"
exit 1
fi
$ODIN build ../test_issue_5043.odin $COMMON
$ODIN build ../test_issue_5097.odin $COMMON
set +x

View File

@@ -0,0 +1,23 @@
// Tests issue #5043 https://github.com/odin-lang/Odin/issues/5043
package test_issues
Table :: map [string] Type
List :: [dynamic] Type
Type :: union {
^Table,
^List,
i64,
}
main :: proc() {
v: Type = 5
switch t in v {
case ^Table: // or case ^map [string] Type:
case ^List:
case i64:
}
}

View File

@@ -0,0 +1,15 @@
// Tests issue #5097 https://github.com/odin-lang/Odin/issues/5097
package test_issues
Node_Ptr :: ^Node // the typedef...
Node :: struct {
prev, next: Node_Ptr, // replacing the type with ^Node also fixes it
}
// ...if placed here, it works just fine
main :: proc() {
node: Node_Ptr
_ = node
}