summaryrefslogtreecommitdiff
path: root/rustfmt.toml
blob: 4d48236a393c47d31f0e97bbbdf728303eb26629 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Run rustfmt with this config (it should be picked up automatically).
style_edition = "2024"
use_small_heuristics = "Max"
merge_derives = false
group_imports = "StdExternalCrate"
imports_granularity = "Module"

# Files to ignore. Each entry uses gitignore syntax, but `!` prefixes aren't allowed.
ignore = [
    "/build/",
    "/*-build/",
    "/build-*/",
    "/vendor/",

    # Some tests are not formatted, for various reasons.
    "/tests/codegen/simd-intrinsic/", # Many types like `u8x64` are better hand-formatted.
    "/tests/crashes/",                # Many of these tests contain syntax errors.
    "/tests/debuginfo/",              # These tests are somewhat sensitive to source code layout.
    "/tests/incremental/",            # These tests are somewhat sensitive to source code layout.
    "/tests/pretty/",                 # These tests are very sensitive to source code layout.
    "/tests/run-make/translation/test.rs", # This test contains syntax errors.
    "/tests/rustdoc/",                # Some have syntax errors, some are whitespace-sensitive.
    "/tests/rustdoc-gui/",            # Some tests are sensitive to source code layout.
    "/tests/rustdoc-ui/",             # Some have syntax errors, some are whitespace-sensitive.
    "/tests/ui/",                     # Some have syntax errors, some are whitespace-sensitive.
    "/tests/ui-fulldeps/",            # Some are whitespace-sensitive (e.g. `// ~ERROR` comments).

    # Do not format submodules.
    # FIXME: sync submodule list with tidy/bootstrap/etc
    # tidy/src/walk.rs:filter_dirs
    "library/backtrace",
    "library/portable-simd",
    "library/stdarch",
    "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/rust-analyzer",
    "src/tools/rustc-perf",
    "src/tools/rustfmt",
    "src/gcc",

    # These are ignored by a standard cargo fmt run.
    "compiler/rustc_codegen_cranelift/scripts",
    "compiler/rustc_codegen_cranelift/example/gen_block_iterate.rs", # uses edition 2024
    "compiler/rustc_codegen_gcc/tests",
    # Code automatically generated and included.
    "compiler/rustc_codegen_gcc/src/intrinsic/archs.rs",
    "compiler/rustc_codegen_gcc/example",
]