Uh oh!
There was an error while loading. Please reload this page.
Add a tidy check for missing or too many trailing newlines. - #47064
Conversation
rust-highfive
commented
Dec 29, 2017
(rust_highfive has picked a reviewer for you, use r? to override) |
There was a problem hiding this comment.
Q: What is almost as bad as no trailing newline?
A: Multiple trailing newlines!
There was a problem hiding this comment.
@petrochenkov The change for that is going to be huge 😰 (213 files affected)
Details
tidy error: src/libstd_unicode/tables.rs: too many trailing newlines (2)
tidy error: src/test/ui/did_you_mean/recursion_limit_deref.rs: too many trailing newlines (2)
tidy error: src/test/ui/did_you_mean/recursion_limit_macro.rs: too many trailing newlines (2)
tidy error: src/test/ui/feature-gate-rustc_const_unstable.rs: too many trailing newlines (2)
tidy error: src/test/ui/feature-gate-allocator_internals.rs: too many trailing newlines (2)
tidy error: src/test/ui/feature-gate-wasm_import_memory.rs: too many trailing newlines (2)
tidy error: src/test/ui/feature-gate/issue-43106-gating-of-rustc_deprecated.rs: too many trailing newlines (2)
tidy error: src/test/ui/fmt/format-string-error.rs: too many trailing newlines (2)
tidy error: src/test/ui/feature-gate-compiler-builtins.rs: too many trailing newlines (2)
tidy error: src/test/ui/macro_backtrace/auxiliary/ping.rs: too many trailing newlines (2)
tidy error: src/test/ui/mismatched_types/trait-impl-fn-incompatibility.rs: too many trailing newlines (2)
tidy error: src/test/ui/mismatched_types/main.rs: too many trailing newlines (2)
tidy error: src/test/ui/feature-gate-match_beginning_vert.rs: too many trailing newlines (2)
tidy error: src/test/ui/borrowck/mut-borrow-outside-loop.rs: too many trailing newlines (2)
tidy error: src/test/ui/borrowck/mut-borrow-in-loop.rs: too many trailing newlines (2)
tidy error: src/test/ui/generator/borrowing.rs: too many trailing newlines (2)
tidy error: src/test/ui/trait-alias.rs: too many trailing newlines (2)
tidy error: src/test/ui/feature-gate-dropck-ugeh.rs: too many trailing newlines (2)
tidy error: src/test/ui/feature-gate-i128_type.rs: too many trailing newlines (2)
tidy error: src/test/ui/region-borrow-params-issue-29793-small.rs: too many trailing newlines (2)
tidy error: src/test/ui/span/dropck-object-cycle.rs: too many trailing newlines (2)
tidy error: src/test/ui/span/suggestion-non-ascii.rs: too many trailing newlines (2)
tidy error: src/test/ui/unsized-enum2.rs: too many trailing newlines (2)
tidy error: src/test/ui/issue-40782.rs: too many trailing newlines (2)
tidy error: src/test/ui/feature-gate-never_type.rs: too many trailing newlines (2)
tidy error: src/test/ui/nll/projection-return.rs: too many trailing newlines (2)
tidy error: src/test/ui/lifetime-errors/ex3-both-anon-regions-3.rs: too many trailing newlines (2)
tidy error: src/test/ui/lifetime-errors/ex3-both-anon-regions-self-is-anon.rs: too many trailing newlines (2)
tidy error: src/test/ui/lifetime-errors/ex3-both-anon-regions-return-type-is-anon.rs: too many trailing newlines (2)
tidy error: src/test/ui/update-references.sh: too many trailing newlines (3)
tidy error: src/test/ui/feature-gate-needs-allocator.rs: too many trailing newlines (2)
tidy error: src/test/ui/feature-gate-allow_fail.rs: too many trailing newlines (2)
tidy error: src/test/ui/unsafe-const-fn.rs: too many trailing newlines (2)
tidy error: src/test/codegen-units/item-collection/static-init.rs: too many trailing newlines (2)
tidy error: src/test/codegen-units/item-collection/unreferenced-inline-function.rs: too many trailing newlines (2)
tidy error: src/test/codegen-units/item-collection/auxiliary/cgu_generic_function.rs: too many trailing newlines (2)
tidy error: src/test/codegen-units/partitioning/auxiliary/cgu_generic_function.rs: too many trailing newlines (2)
tidy error: src/test/run-pass-fulldeps/binary-heap-panic-safe.rs: too many trailing newlines (2)
tidy error: src/test/run-pass-fulldeps/proc-macro/expand-with-a-macro.rs: too many trailing newlines (2)
tidy error: src/test/run-pass-fulldeps/proc-macro/auxiliary/expand-with-a-macro.rs: too many trailing newlines (2)
tidy error: src/test/rustdoc/issue-15318-2.rs: too many trailing newlines (2)
tidy error: src/test/rustdoc/issue-38129.rs: too many trailing newlines (2)
tidy error: src/test/rustdoc/issue-20727-2.rs: too many trailing newlines (2)
tidy error: src/test/rustdoc/issue-19190-3.rs: too many trailing newlines (2)
tidy error: src/test/rustdoc/issue-23207.rs: too many trailing newlines (2)
tidy error: src/test/rustdoc/inline_cross/issue-32881.rs: too many trailing newlines (2)
tidy error: src/test/rustdoc/inline_cross/auxiliary/rustdoc-trait-object-impl.rs: too many trailing newlines (2)
tidy error: src/test/rustdoc/auxiliary/issue-23207-2.rs: too many trailing newlines (2)
tidy error: src/test/incremental/hashes/exported_vs_not.rs: too many trailing newlines (2)
tidy error: src/test/incremental/hashes/enum_defs.rs: too many trailing newlines (3)
tidy error: src/test/incremental/hashes/inline_asm.rs: too many trailing newlines (4)
tidy error: src/test/incremental/change_crate_order/auxiliary/a.rs: too many trailing newlines (2)
tidy error: src/test/incremental/change_crate_order/auxiliary/b.rs: too many trailing newlines (2)
tidy error: src/test/incremental/span_hash_stable/main.rs: too many trailing newlines (2)
tidy error: src/test/incremental/krate_reassign_34991/auxiliary/a.rs: too many trailing newlines (2)
tidy error: src/test/incremental/krate-inherent.rs: too many trailing newlines (2)
tidy error: src/test/incremental/issue-39569.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/range_traits-6.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/issue-40350.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/unreachable-arm.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/struct-fields-shorthand.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/match-byte-array-patterns-2.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/issue-30236.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/range_traits-2.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/range_traits-3.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/issue-26905.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/catch-maybe-bad-lifetime.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/type-mismatch-multiple.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/const-eval-overflow-3b.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/range_traits-7.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/unreachable-loop-patterns.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/uninhabited-irrefutable.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/never-assign-wrong-type.rs: too many trailing newlines (3)
tidy error: src/test/compile-fail/macro-follow.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/bad-lint-cap3.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/borrowck/two-phase-reservation-sharing-interference.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/range_inclusive_gate.rs: too many trailing newlines (3)
tidy error: src/test/compile-fail/trait-alias.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/enum-discrim-autosizing.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/impl-trait/where-allowed.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/binop-logic-float.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/deriving-copyclone.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/recursive-types-are-not-uninhabited.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/match-argm-statics-2.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/wf-outlives-ty-in-fn-or-trait.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/return-unit-from-diverging.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/allocator/two-allocators2.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/allocator/two-allocators.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/unreachable-try-pattern.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/deriving-primitive.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/return-from-diverging.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/call-fn-never-arg-wrong-type.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/catch-opt-init.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/panic-runtime/libtest-unwinds.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/range_traits-4.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/issue-30240-b.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/range_traits-5.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/catch-bad-lifetime.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/uninhabited-patterns.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/E0619.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/auxiliary/default_ty_param_cross_crate_crate.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/transmute-imut-to-mut.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/patkind-litrange-no-expr.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail/inhabitedness-infinite-loop.rs: too many trailing newlines (2)
tidy error: src/test/run-fail/cast-never.rs: too many trailing newlines (2)
tidy error: src/test/run-fail/never-associated-type.rs: too many trailing newlines (2)
tidy error: src/test/run-fail/never-type-arg.rs: too many trailing newlines (2)
tidy error: src/test/run-fail/call-fn-never-arg.rs: too many trailing newlines (2)
tidy error: src/test/run-fail/return-never-coerce.rs: too many trailing newlines (3)
tidy error: src/test/run-pass/macro-first-set.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/project-cache-issue-31849.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/mir_constval_adts.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/empty-types-in-patterns.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue-26905.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/never-result.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/inc-range-pat.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue28498-must-work-ex2.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/impl-for-never.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue-39709.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue_26873_multifile/A/mod.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue_26873_multifile/A/B.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue_26873_multifile/A/C.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue_26873_multifile/mod.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue-21400.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue-26873-onefile.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/macro-follow.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue24687-embed-debuginfo/auxiliary/issue24687_lib.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/macro-nested_expr.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/asm-concat-src.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/optimization-fuel-1.rs: too many trailing newlines (3)
tidy error: src/test/run-pass/range_inclusive_gate.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/derive-no-std.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/lint-cap.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/deriving-copyclone.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/thinlto/thin-lto-inlines2.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/allocator/xcrate-use2.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue-33287.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue-24313.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/optimization-fuel-0.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/nll/rc-loop.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/signal-alternate-stack-cleanup.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/const-fn-feature-flags.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/link-cfg-works.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue28498-ugeh-ex1.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/macro-pat-neg-lit.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue-30371.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/issue-23699.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/discriminant_value-wrapper.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/never_coercions.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/auxiliary/issue-17718-aux.rs: too many trailing newlines (2)
tidy error: src/test/run-pass/auxiliary/derive-no-std.rs: too many trailing newlines (2)
tidy error: src/test/ui-fulldeps/update-references.sh: too many trailing newlines (3)
tidy error: src/test/codegen/nounwind.rs: too many trailing newlines (2)
tidy error: src/test/codegen/likely.rs: too many trailing newlines (2)
tidy error: src/test/codegen/prefetch.rs: too many trailing newlines (3)
tidy error: src/test/parse-fail/lex-bad-char-literals-1.rs: too many trailing newlines (2)
tidy error: src/test/parse-fail/range_inclusive_dotdotdot.rs: too many trailing newlines (2)
tidy error: src/test/parse-fail/range_inclusive_gate.rs: too many trailing newlines (3)
tidy error: src/test/parse-fail/lex-bad-char-literals-2.rs: too many trailing newlines (2)
tidy error: src/test/parse-fail/range_inclusive.rs: too many trailing newlines (2)
tidy error: src/test/debuginfo/unreachable-locals.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail-fulldeps/dropck_tarena_unsound_drop.rs: too many trailing newlines (2)
tidy error: src/test/compile-fail-fulldeps/proc-macro/auxiliary/derive-bad.rs: too many trailing newlines (2)
tidy error: src/test/run-make/lto-no-link-whole-rlib/lib2.rs: too many trailing newlines (2)
tidy error: src/test/run-make/issue-28595/b.c: too many trailing newlines (2)
tidy error: src/test/run-make/a-b-a-linker-guard/a.rs: too many trailing newlines (3)
tidy error: src/test/run-make/windows-subsystem/console.rs: too many trailing newlines (2)
tidy error: src/test/run-make/reproducible-build/reproducible-build.rs: too many trailing newlines (3)
tidy error: src/test/run-make/sanitizer-staticlib-link/program.c: too many trailing newlines (2)
tidy error: src/test/run-make/stable-symbol-names/stable-symbol-names2.rs: too many trailing newlines (2)
tidy error: src/test/run-make/issue-18943/foo.rs: too many trailing newlines (2)
tidy error: src/test/pretty/cast-lt.rs: too many trailing newlines (2)
tidy error: src/libstd/sys/unix/l4re.rs: too many trailing newlines (2)
tidy error: src/libstd/os/dragonfly/fs.rs: too many trailing newlines (2)
tidy error: src/libstd/os/macos/fs.rs: too many trailing newlines (2)
tidy error: src/libstd/os/bitrig/fs.rs: too many trailing newlines (2)
tidy error: src/libstd/os/netbsd/fs.rs: too many trailing newlines (2)
tidy error: src/libstd/os/ios/fs.rs: too many trailing newlines (2)
tidy error: src/libstd/os/freebsd/fs.rs: too many trailing newlines (2)
tidy error: src/libstd/os/android/raw.rs: too many trailing newlines (2)
tidy error: src/libstd/os/android/fs.rs: too many trailing newlines (2)
tidy error: src/libstd/os/openbsd/fs.rs: too many trailing newlines (2)
tidy error: src/librustc_typeck/variance/mod.rs: too many trailing newlines (2)
tidy error: src/librustc/middle/free_region.rs: too many trailing newlines (2)
tidy error: src/librustc/util/nodemap.rs: too many trailing newlines (2)
tidy error: src/librustc/ty/maps/values.rs: too many trailing newlines (2)
tidy error: src/librustc/ty/inhabitedness/mod.rs: too many trailing newlines (2)
tidy error: src/librustc/ty/inhabitedness/def_id_forest.rs: too many trailing newlines (2)
tidy error: src/librustc/ty/erase_regions.rs: too many trailing newlines (2)
tidy error: src/librustc/ty/codec.rs: too many trailing newlines (2)
tidy error: src/librustc/infer/region_constraints/taint.rs: too many trailing newlines (2)
tidy error: src/librustc/infer/mod.rs: too many trailing newlines (2)
tidy error: src/librustc/macros.rs: too many trailing newlines (2)
tidy error: src/librustc/dep_graph/raii.rs: too many trailing newlines (2)
tidy error: src/librustc/mir/mono.rs: too many trailing newlines (2)
tidy error: src/librustc/ich/hcx.rs: too many trailing newlines (2)
tidy error: src/librustdoc/build.rs: too many trailing newlines (2)
tidy error: src/librustc_mir/borrow_check/nll/region_infer/dump_mir.rs: too many trailing newlines (2)
tidy error: src/libsyntax/test_snippet.rs: too many trailing newlines (2)
tidy error: src/librustc_trans/time_graph.rs: too many trailing newlines (2)
tidy error: src/librustc_trans/mir/place.rs: too many trailing newlines (2)
tidy error: src/librustc_trans/common.rs: too many trailing newlines (2)
tidy error: src/libcore/tests/num/flt2dec/mod.rs: too many trailing newlines (2)
tidy error: src/libcore/tests/num/flt2dec/estimator.rs: too many trailing newlines (2)
tidy error: src/libcore/tests/num/flt2dec/strategy/dragon.rs: too many trailing newlines (2)
tidy error: src/libcore/tests/num/flt2dec/strategy/grisu.rs: too many trailing newlines (2)
tidy error: src/libcore/tests/num/bignum.rs: too many trailing newlines (2)
tidy error: src/libcore/num/flt2dec/decoder.rs: too many trailing newlines (2)
tidy error: src/libcore/num/flt2dec/mod.rs: too many trailing newlines (2)
tidy error: src/libcore/num/flt2dec/estimator.rs: too many trailing newlines (2)
tidy error: src/libcore/internal_macros.rs: too many trailing newlines (2)
tidy error: src/librustc_data_structures/accumulate_vec.rs: too many trailing newlines (2)
tidy error: src/librustc_driver/derive_registrar.rs: too many trailing newlines (2)
de5e62c to
4577a70Comparekennytm
commented
Dec 30, 2017
@petrochenkov Modified the style check to error on having ≥3 trailing newlines as well. I allowed for 2 trailing newlines since that affected too many files. Besides, having multiple trailing newlines isn't as evil as no trailing newlines (which breaks |
estebank
commented
Dec 31, 2017
@bors r+ rollup |
bors
commented
Dec 31, 2017
📌 Commit 4577a70 has been approved by |
bors
commented
Jan 1, 2018
Add a tidy check for missing or too many trailing newlines. I've noticed recently there are lots of review comments requesting to fix trailing newlines. If this is going to be an official style here, it's better to let the CI do this repetitive check.
bors
commented
Jan 1, 2018
☀️ Test successful - status-appveyor, status-travis |
…, r=kennytm Disallow double trailing newlines in tidy This wasn't done previously in rust-lang#47064 (comment) as it affected too many files, but I think it's best to fix it now so that the number of files with double trailing newlines doesn't keep increasing. r? kennytm
Disallow double trailing newlines in tidy This wasn't done previously in #47064 (comment) as it affected too many files, but I think it's best to fix it now so that the number of files with double trailing newlines doesn't keep increasing. r? kennytm
I've noticed recently there are lots of review comments requesting to fix trailing newlines. If this is going to be an official style here, it's better to let the CI do this repetitive check.