-
-
Notifications
You must be signed in to change notification settings - Fork 908
Open
Labels
Description
Context
- Operating System & Odin Version: dev-2026-02:dc3c53b49
- Please paste
odin reportoutput:
Odin: dev-2026-02:dc3c53b49
OS: Windows 11 Professional (version: 23H2), build 22631.6199
CPU: 13th Gen Intel(R) Core(TM) i5-13600K
RAM: 32540 MiB
Backend: LLVM 20.1.0
Supporting this would reduce the need to get the type's name at runtime or force a type to become named.
I am logging this as a bug because this works without issue on other types such as int.
Expected Behavior
#caller_location should be able to take all fields of a procedure regardless of their type or if they are polymorphic
Current Behavior
Error
Error: '#caller_expression' expected a valid earlier parameter name
... roc($something: typeid, field:= #caller_expression(something)) {
Failure Information (for bugs)
When creating a procedure it is possible to get the value of a field for certain types. When the field is of a polymorphic typeid the #caller_expression is unable to acknowledge it as a field
Steps to Reproduce
- create the following code
parapolyfield :: proc($something: typeid, field:= #caller_expression(something)) {
}
Color :: [4]f32
main :: proc() {
parapolyfield(Color)
}```
2. attempt to compile the above code
3. Error
Error: '#caller_expression' expected a valid earlier parameter name
... roc($something: typeid, field:= #caller_expression(something)) {
### Failure Logs
just error during compilation
Error: '#caller_expression' expected a valid earlier parameter name
... roc($something: typeid, field:= #caller_expression(something)) {
Reactions are currently unavailable