On Thursday, 12 April 2012 at 02:21:46 UTC, Reid Levenick wrote:
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.
I like the idea. To get rid of any confusion with keywords,
name-mangling, or classes, I suggest having "this" being
syntactic sugar for the name of the template.
NMS