about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-04-22 16:30:42 +0000
committerbors <bors@rust-lang.org>2019-04-22 16:30:42 +0000
commit6d599337fa7047307ba72786bbabe6b9c9e4daac (patch)
treed4106c9f2054889c819d9cfd485fee77254579fd /src
parentc21fbfe7e310b9055ed6b7c46b7d37b831a516e3 (diff)
parent096495531c89076a9a68c01a0b32e6559a23b1d8 (diff)
downloadrust-6d599337fa7047307ba72786bbabe6b9c9e4daac.tar.gz
rust-6d599337fa7047307ba72786bbabe6b9c9e4daac.zip
Auto merge of #60168 - varkor:tidy-leading-newline, r=alexcrichton
Add a tidy check for leading newlines

This is fairly uncommon, but it can slip through when refactoring (as evidenced by the files with leading newlines here).
Diffstat (limited to 'src')
-rw-r--r--src/rustc/rustc.rs1
-rw-r--r--src/test/incremental/change_name_of_static_in_fn.rs1
-rw-r--r--src/test/run-make-fulldeps/lto-dylib-dep/a_dylib.rs1
-rw-r--r--src/test/run-make-fulldeps/lto-dylib-dep/main.rs1
-rw-r--r--src/test/run-pass/coherence/auxiliary/re_rebalance_coherence_lib.rs3
-rw-r--r--src/test/ui/coherence/auxiliary/re_rebalance_coherence_lib.rs3
-rw-r--r--src/test/ui/e0119/conflict-with-std.rs1
-rw-r--r--src/test/ui/e0119/conflict-with-std.stderr6
-rw-r--r--src/test/ui/feature-gates/auxiliary/re_rebalance_coherence_lib.rs3
-rw-r--r--src/test/ui/mod-subitem-as-enum-variant.rs1
-rw-r--r--src/test/ui/mod-subitem-as-enum-variant.stderr2
-rw-r--r--src/tools/tidy/src/style.rs7
12 files changed, 14 insertions, 16 deletions
diff --git a/src/rustc/rustc.rs b/src/rustc/rustc.rs
index 626fceb5814..4a1786f89ed 100644
--- a/src/rustc/rustc.rs
+++ b/src/rustc/rustc.rs
@@ -1,4 +1,3 @@
-
 fn main() {
     // Pull in jemalloc when enabled.
     //
diff --git a/src/test/incremental/change_name_of_static_in_fn.rs b/src/test/incremental/change_name_of_static_in_fn.rs
index 5b27b6808ea..fd16ad2dca4 100644
--- a/src/test/incremental/change_name_of_static_in_fn.rs
+++ b/src/test/incremental/change_name_of_static_in_fn.rs
@@ -1,4 +1,3 @@
-
 // revisions:rpass1 rpass2 rpass3
 
 // See issue #57692.
diff --git a/src/test/run-make-fulldeps/lto-dylib-dep/a_dylib.rs b/src/test/run-make-fulldeps/lto-dylib-dep/a_dylib.rs
index c5a35296f89..e63457e6eb9 100644
--- a/src/test/run-make-fulldeps/lto-dylib-dep/a_dylib.rs
+++ b/src/test/run-make-fulldeps/lto-dylib-dep/a_dylib.rs
@@ -1,4 +1,3 @@
-
 pub fn foo() {
     println!("bar");
 }
diff --git a/src/test/run-make-fulldeps/lto-dylib-dep/main.rs b/src/test/run-make-fulldeps/lto-dylib-dep/main.rs
index af0955e7f35..4fb3c4730b2 100644
--- a/src/test/run-make-fulldeps/lto-dylib-dep/main.rs
+++ b/src/test/run-make-fulldeps/lto-dylib-dep/main.rs
@@ -1,4 +1,3 @@
-
 extern crate a_dylib;
 
 fn main() {
diff --git a/src/test/run-pass/coherence/auxiliary/re_rebalance_coherence_lib.rs b/src/test/run-pass/coherence/auxiliary/re_rebalance_coherence_lib.rs
index c8d027b25c7..41b9d64d5f7 100644
--- a/src/test/run-pass/coherence/auxiliary/re_rebalance_coherence_lib.rs
+++ b/src/test/run-pass/coherence/auxiliary/re_rebalance_coherence_lib.rs
@@ -1,5 +1,4 @@
-
-pub trait Backend{}
+pub trait Backend {}
 pub trait SupportsDefaultKeyword {}
 
 impl SupportsDefaultKeyword for Postgres {}
diff --git a/src/test/ui/coherence/auxiliary/re_rebalance_coherence_lib.rs b/src/test/ui/coherence/auxiliary/re_rebalance_coherence_lib.rs
index c8d027b25c7..41b9d64d5f7 100644
--- a/src/test/ui/coherence/auxiliary/re_rebalance_coherence_lib.rs
+++ b/src/test/ui/coherence/auxiliary/re_rebalance_coherence_lib.rs
@@ -1,5 +1,4 @@
-
-pub trait Backend{}
+pub trait Backend {}
 pub trait SupportsDefaultKeyword {}
 
 impl SupportsDefaultKeyword for Postgres {}
diff --git a/src/test/ui/e0119/conflict-with-std.rs b/src/test/ui/e0119/conflict-with-std.rs
index 6dc81f33dfc..c9db2bab183 100644
--- a/src/test/ui/e0119/conflict-with-std.rs
+++ b/src/test/ui/e0119/conflict-with-std.rs
@@ -1,4 +1,3 @@
-
 use std::marker::PhantomData;
 use std::convert::{TryFrom, AsRef};
 
diff --git a/src/test/ui/e0119/conflict-with-std.stderr b/src/test/ui/e0119/conflict-with-std.stderr
index 8c12b3d0bb9..3e0c71e9074 100644
--- a/src/test/ui/e0119/conflict-with-std.stderr
+++ b/src/test/ui/e0119/conflict-with-std.stderr
@@ -1,5 +1,5 @@
 error[E0119]: conflicting implementations of trait `std::convert::AsRef<Q>` for type `std::boxed::Box<Q>`:
-  --> $DIR/conflict-with-std.rs:6:1
+  --> $DIR/conflict-with-std.rs:5:1
    |
 LL | impl AsRef<Q> for Box<Q> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -9,7 +9,7 @@ LL | impl AsRef<Q> for Box<Q> {
              where T: ?Sized;
 
 error[E0119]: conflicting implementations of trait `std::convert::From<S>` for type `S`:
-  --> $DIR/conflict-with-std.rs:13:1
+  --> $DIR/conflict-with-std.rs:12:1
    |
 LL | impl From<S> for S {
    | ^^^^^^^^^^^^^^^^^^
@@ -18,7 +18,7 @@ LL | impl From<S> for S {
            - impl<T> std::convert::From<T> for T;
 
 error[E0119]: conflicting implementations of trait `std::convert::TryFrom<X>` for type `X`:
-  --> $DIR/conflict-with-std.rs:20:1
+  --> $DIR/conflict-with-std.rs:19:1
    |
 LL | impl TryFrom<X> for X {
    | ^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/feature-gates/auxiliary/re_rebalance_coherence_lib.rs b/src/test/ui/feature-gates/auxiliary/re_rebalance_coherence_lib.rs
index c8d027b25c7..41b9d64d5f7 100644
--- a/src/test/ui/feature-gates/auxiliary/re_rebalance_coherence_lib.rs
+++ b/src/test/ui/feature-gates/auxiliary/re_rebalance_coherence_lib.rs
@@ -1,5 +1,4 @@
-
-pub trait Backend{}
+pub trait Backend {}
 pub trait SupportsDefaultKeyword {}
 
 impl SupportsDefaultKeyword for Postgres {}
diff --git a/src/test/ui/mod-subitem-as-enum-variant.rs b/src/test/ui/mod-subitem-as-enum-variant.rs
index cd4459ae0ff..9328d1a9045 100644
--- a/src/test/ui/mod-subitem-as-enum-variant.rs
+++ b/src/test/ui/mod-subitem-as-enum-variant.rs
@@ -1,4 +1,3 @@
-
 mod Mod {
     pub struct FakeVariant<T>(pub T);
 }
diff --git a/src/test/ui/mod-subitem-as-enum-variant.stderr b/src/test/ui/mod-subitem-as-enum-variant.stderr
index 72eca588208..d6815c91e5e 100644
--- a/src/test/ui/mod-subitem-as-enum-variant.stderr
+++ b/src/test/ui/mod-subitem-as-enum-variant.stderr
@@ -1,5 +1,5 @@
 error[E0109]: type arguments are not allowed for this type
-  --> $DIR/mod-subitem-as-enum-variant.rs:8:11
+  --> $DIR/mod-subitem-as-enum-variant.rs:7:11
    |
 LL |     Mod::<i32>::FakeVariant(0);
    |           ^^^ type argument not allowed
diff --git a/src/tools/tidy/src/style.rs b/src/tools/tidy/src/style.rs
index a4321cd7571..528a5063ee4 100644
--- a/src/tools/tidy/src/style.rs
+++ b/src/tools/tidy/src/style.rs
@@ -112,6 +112,7 @@ pub fn check(path: &Path, bad: &mut bool) {
         let skip_length = contents.contains("ignore-tidy-linelength");
         let skip_end_whitespace = contents.contains("ignore-tidy-end-whitespace");
         let skip_copyright = contents.contains("ignore-tidy-copyright");
+        let mut leading_new_lines = false;
         let mut trailing_new_lines = 0;
         for (i, line) in contents.split('\n').enumerate() {
             let mut err = |msg: &str| {
@@ -152,11 +153,17 @@ pub fn check(path: &Path, bad: &mut bool) {
                 err(LLVM_UNREACHABLE_INFO);
             }
             if line.is_empty() {
+                if i == 0 {
+                    leading_new_lines = true;
+                }
                 trailing_new_lines += 1;
             } else {
                 trailing_new_lines = 0;
             }
         }
+        if leading_new_lines {
+            tidy_error!(bad, "{}: leading newline", file.display());
+        }
         match trailing_new_lines {
             0 => tidy_error!(bad, "{}: missing trailing newline", file.display()),
             1 | 2 => {}