--- Comment #2 from Jonathan M Davis <> 2012-05-29 23:30:30 
PDT ---
> A @property function has two parameters is now allowed for UFCS property
> setter.

> @property foo(T)(T obj, int val) { ... }
> void main() {
>    S s;
> = 1;  // translated to .foo(s, 1), it's valid.
> }

Yeah, because that's a free function. It's valid to use it as a property, so it
makes sense for it to compile with @property. The example that I gave with two
arguments was a member function, which already has the invisible this
parameter, so it won't work as a property.

The point is that any function which cannot be legally used as a property
function should not compile when marked with @property and compiled with

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to