An idea to improve eponymous templates

Reid Levenick reid.whitewater+dlang at gmail.com
Wed Apr 11 19:21:45 PDT 2012


Firstly, I had no idea where suggestions should go, and I saw a 
few others here and thus here I am.

I was writing some code that depended heavily on my own eponymous 
templates, and decided to change the names of some of them to 
make them more self-documenting. However, after changing the 
name, I encountered a long stream of unintelligible errors (to 
me, I haven't been using D for a long time) about template 
instances.

So, my idea is that the 'this' keyword could be used in templates 
as a shortcut for eponymous templates, allowing code like this

template anEponymousTemplate( size_t whatever ) {
   enum this = whatever * 2;
}
template anotherOne( T ) {
   static if( is( T == class ) ) {
     alias long this;
   } else {
     alias int this;
   }
}

Which would reduce cruft and make it easier to read some 
templates, as well as reducing maintenance.


More information about the Digitalmars-d mailing list