D's hidden function calls getting crazier.

Hors ho at rs.com
Fri Oct 27 12:38:10 UTC 2023


It's impossible to tell if reading or writing an object's 
variable would call a function because of UFCS or @property. it 
just hurts because you can't know if it's a function call without 
looking at implementation.

The most basic example is
```
obj.val = 1; // actually calls obj.setVal(1)
assert(obj.val == 1); // actually calls obj.getVal(), assertion 
may fail if getVal or setVal is not implemented correctly. Which 
is unexpected
```

To fix this hidden function craziness, UFCS needs to require 
parantheses, and property function needs to be removed entirely.


More information about the Digitalmars-d mailing list