http://d.puremagic.com/issues/show_bug.cgi?id=8161



--- Comment #2 from Jonathan M Davis <jmdavisp...@gmx.com> 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;
>    s.foo = 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
-property.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to