about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2018-08-22 17:45:38 +0200
committerGitHub <noreply@github.com>2018-08-22 17:45:38 +0200
commit95bdc6589b44da7abb58dce6abe33ab3c7e5d8ee (patch)
treea08c2d1824911e37105ecb0c32a50fe8183e34eb /src
parente53a575ddb3c59ee7b5b1692ddf79a967abcbb10 (diff)
parent6e24868384408da8b542f70085f7a45a3c383fc7 (diff)
downloadrust-95bdc6589b44da7abb58dce6abe33ab3c7e5d8ee.tar.gz
rust-95bdc6589b44da7abb58dce6abe33ab3c7e5d8ee.zip
Rollup merge of #53558 - davidtwco:issue-53547, r=estebank
Normalize source line and column numbers.

Fixes #53547.

r? @eddyb
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/consts/const-size_of-cycle.stderr4
-rw-r--r--src/test/ui/impl-trait/impl-generic-mismatch.stderr2
-rw-r--r--src/tools/compiletest/src/runtest.rs7
3 files changed, 10 insertions, 3 deletions
diff --git a/src/test/ui/consts/const-size_of-cycle.stderr b/src/test/ui/consts/const-size_of-cycle.stderr
index b10dd509e0b..16d87f7e31c 100644
--- a/src/test/ui/consts/const-size_of-cycle.stderr
+++ b/src/test/ui/consts/const-size_of-cycle.stderr
@@ -2,13 +2,13 @@ error[E0391]: cycle detected when computing layout of `Foo`
    |
 note: ...which requires normalizing `ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: All }, value: [u8; _] }`...
 note: ...which requires const-evaluating `Foo::bytes::{{constant}}`...
-  --> $SRC_DIR/libcore/mem.rs:323:14
+  --> $SRC_DIR/libcore/mem.rs:LL:COL
    |
 LL |     unsafe { intrinsics::size_of::<T>() }
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: ...which again requires computing layout of `Foo`, completing the cycle
 note: cycle used when const-evaluating `Foo::bytes::{{constant}}`
-  --> $SRC_DIR/libcore/mem.rs:323:14
+  --> $SRC_DIR/libcore/mem.rs:LL:COL
    |
 LL |     unsafe { intrinsics::size_of::<T>() }
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/impl-trait/impl-generic-mismatch.stderr b/src/test/ui/impl-trait/impl-generic-mismatch.stderr
index a5f1580b60d..7ad16b1f8f2 100644
--- a/src/test/ui/impl-trait/impl-generic-mismatch.stderr
+++ b/src/test/ui/impl-trait/impl-generic-mismatch.stderr
@@ -30,7 +30,7 @@ error[E0643]: method `hash` has incompatible signature for trait
 LL |     fn hash(&self, hasher: &mut impl Hasher) {}
    |                                 ^^^^^^^^^^^ expected generic parameter, found `impl Trait`
    | 
-  ::: $SRC_DIR/libcore/hash/mod.rs:185:13
+  ::: $SRC_DIR/libcore/hash/mod.rs:LL:COL
    |
 LL |     fn hash<H: Hasher>(&self, state: &mut H);
    |             - declaration in trait here
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
index b1361730826..24b575aae12 100644
--- a/src/tools/compiletest/src/runtest.rs
+++ b/src/tools/compiletest/src/runtest.rs
@@ -2963,6 +2963,13 @@ impl<'test> TestCx<'test> {
             normalized = normalized.replace("\\n", "\n");
         }
 
+        // If there are `$SRC_DIR` normalizations with line and column numbers, then replace them
+        // with placeholders as we do not want tests needing updated when compiler source code
+        // changes.
+        // eg. $SRC_DIR/libcore/mem.rs:323:14 becomes $SRC_DIR/libcore/mem.rs:LL:COL
+        normalized = Regex::new("SRC_DIR(.+):\\d+:\\d+").unwrap()
+            .replace_all(&normalized, "SRC_DIR$1:LL:COL").into_owned();
+
         normalized = normalized.replace("\\\\", "\\") // denormalize for paths on windows
               .replace("\\", "/") // normalize for paths on windows
               .replace("\r\n", "\n") // normalize for linebreaks on windows