Type Qualifiers and Wild Cards

Steven Schveighoffer schveiguy at yahoo.com
Wed Nov 9 04:54:44 PST 2011


On Tue, 08 Nov 2011 18:57:19 -0500, Martin Nowak <dawg at dawgfoto.de> wrote:

> On Wed, 09 Nov 2011 00:01:09 +0100, Walter Bright  
> <newshound2 at digitalmars.com> wrote:
>
>> On 11/8/2011 11:10 AM, Martin Nowak wrote:
>>> I personally find it much more astonishing that inout methods finally  
>>> work.
> I literally meant methods as in member functions.
> Being able to use inout as method qualifier is way more
> important than achieving the same for free functions as it
> makes transitive qualifiers almost hassle free in simple cases.

To give a bit of trivia, the main motivator for proposing what is now  
inout was trying to port Tango to D2.  In doing this, I realized that in  
order to be const-correct, I was going to have to triplicate all property  
accessors on classes (and Tango uses classes + properties much more than  
Phobos does).  The prospect of having three *identical* copies of the same  
function just so I could have something as simple as an accessor was  
reason enough to find a better solution before moving forward on Tango for  
D2.

In other words, the astonishment was intentional :)

BTW, I want to publicly thank Kenji Hara for his work on making inout a  
reality.  He created the patch that solved all the remaining inout  
problems, then quickly fixed most of the remaining bugs found with his  
patch before this last release.  Without his work, inout would still be a  
pipe-dream!

-Steve


More information about the Digitalmars-d mailing list