-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dot operators with type mismatch, shows assertion instead of compiler error #17779
Labels
Comments
As I mentioned in the realtime chat this is not due to the {.experimental: "dotOperators".}
type
Flag = enum
A
Flags = set[Flag]
template `.=`*(flags: Flags, key: Flag, val: int | bool) =
if val.bool: flags.incl key else: flags.excl key
var flags: Flags
flags.A = 123 |
Now gives
which seems reasonable? |
metagn
added a commit
to metagn/Nim
that referenced
this issue
Dec 8, 2024
closes nim-lang#6013, closes nim-lang#7009, closes nim-lang#9190, closes nim-lang#12487, closes nim-lang#12831, closes nim-lang#13184, closes nim-lang#13252, closes nim-lang#14860, closes nim-lang#14877, closes nim-lang#14894, closes nim-lang#14917, closes nim-lang#16153, closes nim-lang#16439, closes nim-lang#17779, closes nim-lang#18074, closes nim-lang#18202, closes nim-lang#18314, closes nim-lang#18648, closes nim-lang#19063, closes nim-lang#19446, closes nim-lang#20065, closes nim-lang#20367, closes nim-lang#22126, closes nim-lang#22820, closes nim-lang#22888, closes nim-lang#23020, closes nim-lang#23287, closes nim-lang#23510
narimiran
pushed a commit
that referenced
this issue
Jan 14, 2025
closes #6013, closes #7009, closes #9190, closes #12487, closes #12831, closes #13184, closes #13252, closes #14860, closes #14877, closes #14894, closes #14917, closes #16153, closes #16439, closes #17779, closes #18074, closes #18202, closes #18314, closes #18648, closes #19063, closes #19446, closes #20065, closes #20367, closes #22126, closes #22820, closes #22888, closes #23020, closes #23287, closes #23510 (cherry picked from commit aeb3fe9)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The following code doesn't compile and causes unhandled exception:
Example
Current Output
Expected Output
Compiler provides meanful error message or compiles.
Possible Solution
If
flags.A = 123
is written asflags.A = bool(123)
code compiles as expected.The text was updated successfully, but these errors were encountered: