+use_small_heuristics = "Max"
+merge_derives = false
+
+# by default we ignore everything in the repository
+# tidy only checks files which are not ignored, each entry follows gitignore style
+ignore = [
+ "/build/",
+ "/*-build/",
+ "/build-*/",
+ "/vendor/",
+
+ # tests for now are not formatted, as they are sometimes pretty-printing constrained
+ # (and generally rustfmt can move around comments in UI-testing incompatible ways)
+ "src/test",
+
+ # do not format submodules
+ "library/backtrace",
+ "library/portable-simd",
+ "library/stdarch",
+ "compiler/rustc_codegen_gcc",
+ "src/doc/book",
+ "src/doc/edition-guide",
+ "src/doc/embedded-book",
+ "src/doc/nomicon",
+ "src/doc/reference",
+ "src/doc/rust-by-example",
+ "src/doc/rustc-dev-guide",
+ "src/llvm-project",
+ "src/tools/cargo",
+ "src/tools/clippy",
+ "src/tools/miri",
+ "src/tools/rls",
+ "src/tools/rust-analyzer",
+ "src/tools/rustfmt",
+ "src/tools/rust-installer",
+
+ # these are ignored by a standard cargo fmt run
+ "compiler/rustc_codegen_cranelift/y.rs", # running rustfmt breaks this file
+ "compiler/rustc_codegen_cranelift/example",
+ "compiler/rustc_codegen_cranelift/scripts",
+]