Method invocation -- why it's not working?
Ali Çehreli
acehreli at yahoo.com
Wed Mar 7 16:04:55 PST 2012
On 03/07/2012 03:54 PM, Ali Çehreli wrote:
> On 03/07/2012 03:21 PM, Comrad wrote:
> > 1 struct A
> > 2 {
> > 3 double[2] _x;
> > 4 }
> > 5
> > 6 @property ref double y(ref A a) {return a._x[1];}
> > 7
> > 8 void main()
> > 9 {
> > 10 A a1;
> > 11 a1.y=2.;
> > 12 }
> >
> > dmd test.d gives me:
> >
> > Error: no property 'y' for type 'A'
> >
> >
>
> You are testing out the new UFCS, right? Well, I really really hope that
> I will be embarrassed by saying this: That feature has been DOA! :p
>
> So many people celebrated the feature on the D.announce newsgroup. I've
> pointed out a number of times that I couldn't get even the simplest test.
>
> And there is a unittest that tests the feature but nope... It just
> doesn't work. :(
>
> Ali
>
Ok, now I see how I fooled myself. Posts like the following made me
think that UFCS has been implemented even for ints:
http://forum.dlang.org/post/jhfpca$1bf4$1@digitalmars.com
I made a further mistake and parsed the unittest in the following change
as using an 'int'. Obviously I was wrong: it is the string literal "1":
https://github.com/D-Programming-Language/dmd/commit/c268c4a2dc20aae024bce81555833b806a56f718
Ali
More information about the Digitalmars-d-learn
mailing list