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.

Reply via email to