You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Native operator overloads can specify an array return type. They should have the same semantics as non-native operator overloads. The compiler fails to diagnose it.
Minimal complete verifiable example (MCVE):
This compiles:
native Float:[10]operator+(Float:a, Float:b) = 0;
main () { }
This doesn't:
Float:[10]operator-(Float:a, Float:b) { }
main () { }
Workspace Information:
Compiler version: 3.10.10
Command line arguments provided (or sampctl version): pawncc main.pwn
Operating System: Ubuntu 20.04
The text was updated successfully, but these errors were encountered:
Float:[10]operator-(Float:a, Float:b) { }
main () { }
This is because return array sizes are only valid in new-style function declarations that start either from keyword forward, or native. For example, this code
I think the real problem here is that operators aren't actually supposed to return arrays at all, and the compiler doesn't diagnose this. Fixing this shouldn't be hard.
Issue description:
Native operator overloads can specify an array return type. They should have the same semantics as non-native operator overloads. The compiler fails to diagnose it.
Minimal complete verifiable example (MCVE):
This compiles:
This doesn't:
Workspace Information:
pawncc main.pwn
The text was updated successfully, but these errors were encountered: