March 23, 2021 [Issue 21749] New: Misleading error message for an operator in an 'alias this'ed type | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=21749 Issue ID: 21749 Summary: Misleading error message for an operator in an 'alias this'ed type Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody@puremagic.com Reporter: maxsamukha@gmail.com struct S { void opUnary(string op: "++")() { bad; } } struct S2 { S s; alias s this; } void main() { S2 s; ++s; } Error: s is not a scalar, it is a S2 The error should be similar to that when the operator is called explicitly: void main() { S2 s; s.opUnary!"++"(); } onlineapp.d(4): Error: undefined identifier bad onlineapp.d(15): Error: template instance onlineapp.S.opUnary!"++" error instantiating -- | ||||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply