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

Reply via email to