rustc: add a lint for shadowing primitive types

Closes #1766