digitalmars.D.bugs - [Issue 22769] New: `fun()` where fun is a property which returns an
- d-bugmail puremagic.com (33/33) Feb 13 2022 https://issues.dlang.org/show_bug.cgi?id=22769
https://issues.dlang.org/show_bug.cgi?id=22769 Issue ID: 22769 Summary: `fun()` where fun is a property which returns an object with opCall should call opCall Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: dlang-bugzilla thecybershadow.net ///////////////// test.d //////////////// bool called; struct S { void opCall() { called = true; } } property S fun() { return S.init; } static assert(is(typeof(fun()) == void)); ///////////////////////////////////////// With property, the () should be applied to the property return value. To avoid suddenly breaking code, we can first deprecate and then hard-error on expressions which are "ambiguous" in this way. --
Feb 13 2022