Closed
Description
Describe the bug
Function overloading with an @enum type produces unexpected results.
To Reproduce
Try the following code:
Color: @enum type = {
RED;
GREEN;
BLUE;
}
foo: (color: Color) = {
std::cout << "Invoked foo: (color: Color)\n";
}
foo: (color: _) = {
std::cout << "Invoked foo: (color: _)\n";
}
main: () = {
foo(Color::RED);
}
After running this program, I'd expect to see the following on stdout:
Invoked foo: (color: Color)
Instead, the generic function is called:
Invoked foo: (color: _)