OdysseyDecomp
OdysseyDecomp copied to clipboard
Custom linter: Disallow raw usage of `auto`, only allow `auto&` and `auto*`
The game usually doesn't work with raw types in functions, but mostly references or pointers to objects (except Vector/Matrix, which can occur very often, but auto can be avoided here by using implicit constructors instead). While auto is not technically wrong and often still matches, it is still obscuring the unterlying type. Sometimes, this might be fine (for example new calls), but for these circumstances, we should still have the * or & directly annotated on the type, to avoid confusion.
https://clang.llvm.org/extra/clang-tidy/checks/readability/qualified-auto.html