Google's Go
Steven Schveighoffer
schveiguy at yahoo.com
Tue Jan 26 04:36:41 PST 2010
On Mon, 25 Jan 2010 22:45:10 -0500, Ali Çehreli <acehreli at yahoo.com> wrote:
> Steven Schveighoffer wrote:
> > On Sun, 24 Jan 2010 04:25:21 -0500, grauzone <none at example.net> wrote:
>
> > Templates won't work here, you cannot template the 'this' pointer. So
> > you end up with 3 identical implementations, and *no* const guarantee
> on
> > the mutable one:
> >
> > @property C c() { return _c; }
> > @property const(C) c() const { return _c; }
> > @property immutable(C) c() immutable { return _c; }
>
> Is there a known bug in 2.039 about this feature? It doesn't seem to
> consider the hidden this parameter:
>
> class C {}
>
> struct S
> {
> C _c;
>
> @property inout(C) c() inout
> {
> return _c;
> }
> }
>
> Error: inout on return means inout must be on a parameter as well for
> inout inout(C)()
Yes, this is a bug. inout is so fundamentally broken right now, I didn't
bother reporting all the deficiencies in bugzilla, but I did mention them
on the announce newsgroup.
I hope within the next couple releases, it is addressed.
In fact, if it is not addressed in the next release, I should probably
report all the issues to bugzilla.
-Steve
More information about the Digitalmars-d
mailing list