This change simply moves the `rust` macro definition directly into the
attributes for `*.rs` files.
git commands that recurse from the rust toplevel tree into submodules
produce errors in clippy due to the fact that:
"Custom macro attributes can be defined only in top-level
gitattributes files"
For example, from the toplevel `rust` directory in a rustc development
build, try:
$ git grep "search string" --recurse-submodules
Embedded within the actual results is the error message:
[attr]rust text eol=lf whitespace=tab-in-indent,trailing-space,tabwidth=4
not allowed: src/tools/clippy/.gitattributes:1
Someone on discord reported issues with UI tests.
This should make sure that git never automatically converts lineendings
for text files to `CRLF`. They should always be `LF` now.
Probably this means that we can stop using dos2unix for #3306, too.
Taken from [Rust's .gitattributes file](https://github.com/rust-lang/rust/blob/master/.gitattributes).