I'd like to point out a cool fact: with D, we can do a number of lint like things in the language itself, especially if we extend rtinfo (I wrote about this a little while ago and might do a pull request soon)

checkBlacklistedIdentifiers -- would require modifying the header but we could @disable them

checkOSSIncludes - scan for imports, would be easier with rtinfo for modules though! but worst case i'm pretty sure we could do this as a runtime unit test with moduleinfo

Eliminate common mistakes, checkImplicitCast - a UDA + RTInfo + compile time reflection means this is checked by D

well a lot of these are obviated by D itself too... but checking reflection, especially with a project-wide rtinfo extension so you don't have to static assert in every module, gives D the potential to lint itself with some user-defined semantics.

Reply via email to