Facebook open sources flint, a C++ linter written in D

Adam D. Ruppe destructionator at gmail.com
Tue Feb 25 06:53:59 PST 2014


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.


More information about the Digitalmars-d-announce mailing list