about summary refs log tree commit diff
path: root/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async')
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html89
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#1}.-------.InstrumentCoverage.0.html89
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#2}.-------.InstrumentCoverage.0.html89
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#3}.-------.InstrumentCoverage.0.html75
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on.-------.InstrumentCoverage.0.html226
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.f-{closure#0}.-------.InstrumentCoverage.0.html75
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.f.-------.InstrumentCoverage.0.html74
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.foo-{closure#0}.-------.InstrumentCoverage.0.html75
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.foo.-------.InstrumentCoverage.0.html74
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.g-{closure#0}.-------.InstrumentCoverage.0.html80
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.g.-------.InstrumentCoverage.0.html79
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.h-{closure#0}.-------.InstrumentCoverage.0.html80
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.h.-------.InstrumentCoverage.0.html79
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.i-{closure#0}.-------.InstrumentCoverage.0.html82
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.i.-------.InstrumentCoverage.0.html79
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html133
16 files changed, 1478 insertions, 0 deletions
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..31646f8ce81
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#0}.-------.InstrumentCoverage.0.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.executor-block_on-VTABLE-%7Bclosure%230%7D.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.executor-block_on-VTABLE-{closure#0} - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 13"><span class="line">                                 <span class="code" style="--layer: 0">{</span></span>
+<span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code even" style="--layer: 1" title="15:38-15:74: @1[3]: _15 = (move _16,)
+15:38-15:74: @1[5]: FakeRead(ForMatchedPlace, _15)
+15:38-15:74: @1[7]: _27 = (_15.0: &amp;std::fmt::Arguments)
+15:38-15:74: @1[10]: _29 = &amp;(*_27)
+15:38-15:74: @1[12]: _30 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+15:38-15:74: @1.Call: _28 = ArgumentV1::new::&lt;Arguments&gt;(move _29, move _30) -&gt; [return: bb2, unwind: bb4]
+15:38-15:74: @2[2]: _14 = [move _28]
+15:38-15:74: @2[5]: _13 = &amp;_14
+15:38-15:74: @2[6]: _12 = &amp;(*_13)
+15:38-15:74: @2[7]: _11 = move _12 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+15:38-15:74: @2.Call: _6 = Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb4]
+15:37-15:74: @3[2]: _5 = &amp;_6
+15:37-15:74: @3[3]: _4 = &amp;(*_5)
+15:9-15:75: @3.Call: begin_panic_fmt(move _4) -&gt; bb4"><span class="annotation">@0,1,2,3⦊</span>$crate::rt::begin_panic_fmt(&amp;$crate::format_args!($fmt, $($arg)+))<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0"></span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#1}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#1}.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..ddc791f074f
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#1}.-------.InstrumentCoverage.0.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.executor-block_on-VTABLE-%7Bclosure%231%7D.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.executor-block_on-VTABLE-{closure#1} - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 13"><span class="line">                                 <span class="code" style="--layer: 0">{</span></span>
+<span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code even" style="--layer: 1" title="15:38-15:74: @1[3]: _15 = (move _16,)
+15:38-15:74: @1[5]: FakeRead(ForMatchedPlace, _15)
+15:38-15:74: @1[7]: _27 = (_15.0: &amp;std::fmt::Arguments)
+15:38-15:74: @1[10]: _29 = &amp;(*_27)
+15:38-15:74: @1[12]: _30 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+15:38-15:74: @1.Call: _28 = ArgumentV1::new::&lt;Arguments&gt;(move _29, move _30) -&gt; [return: bb2, unwind: bb4]
+15:38-15:74: @2[2]: _14 = [move _28]
+15:38-15:74: @2[5]: _13 = &amp;_14
+15:38-15:74: @2[6]: _12 = &amp;(*_13)
+15:38-15:74: @2[7]: _11 = move _12 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+15:38-15:74: @2.Call: _6 = Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb4]
+15:37-15:74: @3[2]: _5 = &amp;_6
+15:37-15:74: @3[3]: _4 = &amp;(*_5)
+15:9-15:75: @3.Call: begin_panic_fmt(move _4) -&gt; bb4"><span class="annotation">@0,1,2,3⦊</span>$crate::rt::begin_panic_fmt(&amp;$crate::format_args!($fmt, $($arg)+))<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0"></span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#2}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#2}.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..709b87fc501
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#2}.-------.InstrumentCoverage.0.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.executor-block_on-VTABLE-%7Bclosure%232%7D.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.executor-block_on-VTABLE-{closure#2} - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 13"><span class="line">                                 <span class="code" style="--layer: 0">{</span></span>
+<span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code even" style="--layer: 1" title="15:38-15:74: @1[3]: _15 = (move _16,)
+15:38-15:74: @1[5]: FakeRead(ForMatchedPlace, _15)
+15:38-15:74: @1[7]: _27 = (_15.0: &amp;std::fmt::Arguments)
+15:38-15:74: @1[10]: _29 = &amp;(*_27)
+15:38-15:74: @1[12]: _30 = &lt;Arguments as std::fmt::Display&gt;::fmt as for&lt;&#39;r, &#39;s, &#39;t0&gt; fn(&amp;&#39;r std::fmt::Arguments, &amp;&#39;s mut std::fmt::Formatter&lt;&#39;t0&gt;) -&gt; std::result::Result&lt;(), std::fmt::Error&gt; (Pointer(ReifyFnPointer))
+15:38-15:74: @1.Call: _28 = ArgumentV1::new::&lt;Arguments&gt;(move _29, move _30) -&gt; [return: bb2, unwind: bb4]
+15:38-15:74: @2[2]: _14 = [move _28]
+15:38-15:74: @2[5]: _13 = &amp;_14
+15:38-15:74: @2[6]: _12 = &amp;(*_13)
+15:38-15:74: @2[7]: _11 = move _12 as &amp;[std::fmt::ArgumentV1] (Pointer(Unsize))
+15:38-15:74: @2.Call: _6 = Arguments::new_v1(move _7, move _11) -&gt; [return: bb3, unwind: bb4]
+15:37-15:74: @3[2]: _5 = &amp;_6
+15:37-15:74: @3[3]: _4 = &amp;(*_5)
+15:9-15:75: @3.Call: begin_panic_fmt(move _4) -&gt; bb4"><span class="annotation">@0,1,2,3⦊</span>$crate::rt::begin_panic_fmt(&amp;$crate::format_args!($fmt, $($arg)+))<span class="annotation">⦉@0,1,2,3</span></span></span><span class="code" style="--layer: 0"></span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#3}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#3}.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..abd2621481a
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on-VTABLE-{closure#3}.-------.InstrumentCoverage.0.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.executor-block_on-VTABLE-%7Bclosure%233%7D.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.executor-block_on-VTABLE-{closure#3} - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 52"><span class="line">            <span class="code" style="--layer: 0">|_| </span><span><span class="code even" style="--layer: 1" title="53:17-53:19: @0[0]: _0 = ()
+53:19-53:19: @0.Return: return"><span class="annotation">@0⦊</span>()<span class="annotation">⦉@0</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..9d71d8ccc6e
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.executor-block_on.-------.InstrumentCoverage.0.html
@@ -0,0 +1,226 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.executor-block_on.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.executor-block_on - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 45"><span class="line">    <span class="code" style="--layer: 0">pub fn block_on&lt;F: Future&gt;(mut future: F) -&gt; F::Output {</span></span>
+<span class="line"><span class="code" style="--layer: 0">        let </span><span><span class="code even" style="--layer: 1" title="47:54-47:65: @0[2]: _3 = &amp;mut _1
+47:35-47:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
+47:13-47:23: @1[1]: FakeRead(ForLet, _2)
+55:60-55:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+55:80-55:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+55:79-55:86: @2[4]: _8 = &amp;(*_9)
+55:79-55:86: @2[5]: _7 = &amp;(*_8)
+55:46-55:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+55:30-55:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
+55:13-55:18: @4[1]: FakeRead(ForLet, _4)
+56:47-56:53: @4[7]: _12 = &amp;_4
+56:47-56:53: @4[8]: _11 = &amp;(*_12)
+56:27-56:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
+56:13-56:24: @5[1]: FakeRead(ForLet, _10)"><span class="annotation">@0,1,2,3,4,5⦊</span>mut future = unsafe { Pin::new_unchecked(&amp;mut future) };</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="47:54-47:65: @0[2]: _3 = &amp;mut _1
+47:35-47:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
+47:13-47:23: @1[1]: FakeRead(ForLet, _2)
+55:60-55:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+55:80-55:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+55:79-55:86: @2[4]: _8 = &amp;(*_9)
+55:79-55:86: @2[5]: _7 = &amp;(*_8)
+55:46-55:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+55:30-55:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
+55:13-55:18: @4[1]: FakeRead(ForLet, _4)
+56:47-56:53: @4[7]: _12 = &amp;_4
+56:47-56:53: @4[8]: _11 = &amp;(*_12)
+56:27-56:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
+56:13-56:24: @5[1]: FakeRead(ForLet, _10)"></span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="47:54-47:65: @0[2]: _3 = &amp;mut _1
+47:35-47:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
+47:13-47:23: @1[1]: FakeRead(ForLet, _2)
+55:60-55:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+55:80-55:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+55:79-55:86: @2[4]: _8 = &amp;(*_9)
+55:79-55:86: @2[5]: _7 = &amp;(*_8)
+55:46-55:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+55:30-55:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
+55:13-55:18: @4[1]: FakeRead(ForLet, _4)
+56:47-56:53: @4[7]: _12 = &amp;_4
+56:47-56:53: @4[8]: _11 = &amp;(*_12)
+56:27-56:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
+56:13-56:24: @5[1]: FakeRead(ForLet, _10)">        static VTABLE: RawWakerVTable = RawWakerVTable::new(</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="47:54-47:65: @0[2]: _3 = &amp;mut _1
+47:35-47:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
+47:13-47:23: @1[1]: FakeRead(ForLet, _2)
+55:60-55:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+55:80-55:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+55:79-55:86: @2[4]: _8 = &amp;(*_9)
+55:79-55:86: @2[5]: _7 = &amp;(*_8)
+55:46-55:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+55:30-55:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
+55:13-55:18: @4[1]: FakeRead(ForLet, _4)
+56:47-56:53: @4[7]: _12 = &amp;_4
+56:47-56:53: @4[8]: _11 = &amp;(*_12)
+56:27-56:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
+56:13-56:24: @5[1]: FakeRead(ForLet, _10)">            |_| unimplemented!("clone"),</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="47:54-47:65: @0[2]: _3 = &amp;mut _1
+47:35-47:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
+47:13-47:23: @1[1]: FakeRead(ForLet, _2)
+55:60-55:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+55:80-55:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+55:79-55:86: @2[4]: _8 = &amp;(*_9)
+55:79-55:86: @2[5]: _7 = &amp;(*_8)
+55:46-55:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+55:30-55:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
+55:13-55:18: @4[1]: FakeRead(ForLet, _4)
+56:47-56:53: @4[7]: _12 = &amp;_4
+56:47-56:53: @4[8]: _11 = &amp;(*_12)
+56:27-56:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
+56:13-56:24: @5[1]: FakeRead(ForLet, _10)">            |_| unimplemented!("wake"),</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="47:54-47:65: @0[2]: _3 = &amp;mut _1
+47:35-47:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
+47:13-47:23: @1[1]: FakeRead(ForLet, _2)
+55:60-55:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+55:80-55:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+55:79-55:86: @2[4]: _8 = &amp;(*_9)
+55:79-55:86: @2[5]: _7 = &amp;(*_8)
+55:46-55:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+55:30-55:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
+55:13-55:18: @4[1]: FakeRead(ForLet, _4)
+56:47-56:53: @4[7]: _12 = &amp;_4
+56:47-56:53: @4[8]: _11 = &amp;(*_12)
+56:27-56:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
+56:13-56:24: @5[1]: FakeRead(ForLet, _10)">            |_| unimplemented!("wake_by_ref"),</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="47:54-47:65: @0[2]: _3 = &amp;mut _1
+47:35-47:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
+47:13-47:23: @1[1]: FakeRead(ForLet, _2)
+55:60-55:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+55:80-55:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+55:79-55:86: @2[4]: _8 = &amp;(*_9)
+55:79-55:86: @2[5]: _7 = &amp;(*_8)
+55:46-55:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+55:30-55:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
+55:13-55:18: @4[1]: FakeRead(ForLet, _4)
+56:47-56:53: @4[7]: _12 = &amp;_4
+56:47-56:53: @4[8]: _11 = &amp;(*_12)
+56:27-56:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
+56:13-56:24: @5[1]: FakeRead(ForLet, _10)">            |_| (),</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="47:54-47:65: @0[2]: _3 = &amp;mut _1
+47:35-47:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
+47:13-47:23: @1[1]: FakeRead(ForLet, _2)
+55:60-55:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+55:80-55:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+55:79-55:86: @2[4]: _8 = &amp;(*_9)
+55:79-55:86: @2[5]: _7 = &amp;(*_8)
+55:46-55:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+55:30-55:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
+55:13-55:18: @4[1]: FakeRead(ForLet, _4)
+56:47-56:53: @4[7]: _12 = &amp;_4
+56:47-56:53: @4[8]: _11 = &amp;(*_12)
+56:27-56:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
+56:13-56:24: @5[1]: FakeRead(ForLet, _10)">        );</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="47:54-47:65: @0[2]: _3 = &amp;mut _1
+47:35-47:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
+47:13-47:23: @1[1]: FakeRead(ForLet, _2)
+55:60-55:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+55:80-55:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+55:79-55:86: @2[4]: _8 = &amp;(*_9)
+55:79-55:86: @2[5]: _7 = &amp;(*_8)
+55:46-55:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+55:30-55:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
+55:13-55:18: @4[1]: FakeRead(ForLet, _4)
+56:47-56:53: @4[7]: _12 = &amp;_4
+56:47-56:53: @4[8]: _11 = &amp;(*_12)
+56:27-56:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
+56:13-56:24: @5[1]: FakeRead(ForLet, _10)">        let waker = unsafe { Waker::from_raw(RawWaker::new(core::ptr::null(), &amp;VTABLE)) };</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="47:54-47:65: @0[2]: _3 = &amp;mut _1
+47:35-47:66: @0.Call: _2 = Pin::&lt;&amp;mut F&gt;::new_unchecked(move _3) -&gt; [return: bb1, unwind: bb20]
+47:13-47:23: @1[1]: FakeRead(ForLet, _2)
+55:60-55:77: @1.Call: _6 = null::&lt;()&gt;() -&gt; [return: bb2, unwind: bb20]
+55:80-55:86: @2[3]: _9 = const {alloc0: &amp;RawWakerVTable}
+55:79-55:86: @2[4]: _8 = &amp;(*_9)
+55:79-55:86: @2[5]: _7 = &amp;(*_8)
+55:46-55:87: @2.Call: _5 = RawWaker::new(move _6, move _7) -&gt; [return: bb3, unwind: bb20]
+55:30-55:88: @3.Call: _4 = Waker::from_raw(move _5) -&gt; [return: bb4, unwind: bb20]
+55:13-55:18: @4[1]: FakeRead(ForLet, _4)
+56:47-56:53: @4[7]: _12 = &amp;_4
+56:47-56:53: @4[8]: _11 = &amp;(*_12)
+56:27-56:54: @4.Call: _10 = Context::from_waker(move _11) -&gt; [return: bb5, unwind: bb19]
+56:13-56:24: @5[1]: FakeRead(ForLet, _10)">        let mut context = Context::from_waker(&amp;waker)<span class="annotation">⦉@0,1,2,3,4,5</span></span></span><span class="code" style="--layer: 0">;</span></span>
+<span class="line"><span class="code" style="--layer: 0"></span></span>
+<span class="line"><span class="code" style="--layer: 0">        loop {</span></span>
+<span class="line"><span class="code" style="--layer: 0">            if let Poll::Ready(</span><span><span class="code odd" style="--layer: 1" title="59:32-59:35: @12[1]: _20 = move ((_14 as Ready).0: &lt;F as std::future::Future&gt;::Output)"><span class="annotation">@10,12,14,15,16,17⦊</span>val<span class="annotation">⦉@10,12,14,15,16,17</span></span></span><span class="code" style="--layer: 0">) = </span><span><span class="code even" style="--layer: 1" title="59:39-59:45: @7[3]: _16 = &amp;mut _2
+59:39-59:54: @7.Call: _15 = Pin::&lt;&amp;mut F&gt;::as_mut(move _16) -&gt; [return: bb8, unwind: bb19]
+59:60-59:72: @8[3]: _18 = &amp;mut _10
+59:60-59:72: @8[4]: _17 = &amp;mut (*_18)
+59:39-59:73: @8.Call: _14 = &lt;F as Future&gt;::poll(move _15, move _17) -&gt; [return: bb9, unwind: bb19]
+59:39-59:73: @9[2]: FakeRead(ForMatchedPlace, _14)"><span class="annotation">@6,7,8,9⦊</span>future.as_mut().poll(&amp;mut context)<span class="annotation">⦉@6,7,8,9</span></span></span><span class="code" style="--layer: 0"> {</span></span>
+<span class="line"><span class="code" style="--layer: 0">                break </span><span><span class="code odd" style="--layer: 1" title="60:23-60:26: @12[2]: _0 = move _20"><span class="annotation">@10,12,14,15,16,17⦊</span>val<span class="annotation">⦉@10,12,14,15,16,17</span></span></span><span class="code" style="--layer: 0">;</span></span>
+<span class="line"><span class="code" style="--layer: 0">            }</span></span>
+<span class="line"><span class="code" style="--layer: 0">        }</span><span><span class="code even" style="--layer: 1" title="62:10-62:10: @13.Goto: goto -&gt; bb6"><span class="annotation">@11,13⦊</span>‸<span class="annotation">⦉@11,13</span></span></span><span class="code" style="--layer: 0"></span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span><span><span class="code odd" style="--layer: 1" title="63:6-63:6: @17.Return: return"><span class="annotation">@10,12,14,15,16,17⦊</span>‸<span class="annotation">⦉@10,12,14,15,16,17</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.f-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.f-{closure#0}.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..779f67fd7c1
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.f-{closure#0}.-------.InstrumentCoverage.0.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.f-%7Bclosure%230%7D.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.f-{closure#0} - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 4"><span class="line">                   <span class="code" style="--layer: 0">{ </span><span><span class="code even" style="--layer: 1" title="5:22-5:23: @0[0]: _0 = const 1_u8
+5:25-5:25: @0.Return: return"><span class="annotation">@0⦊</span>1 }<span class="annotation">⦉@0</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.f.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.f.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..050ae67efc9
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.f.-------.InstrumentCoverage.0.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.f.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.f - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 4"><span class="line"><span class="code" style="--layer: 0">async fn f() -&gt; u8 { 1 }</span><span><span class="code even" style="--layer: 1" title="5:25-5:25: @1.Return: return"><span class="annotation">@0,1⦊</span>‸<span class="annotation">⦉@0,1</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.foo-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.foo-{closure#0}.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..d176a607d3b
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.foo-{closure#0}.-------.InstrumentCoverage.0.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.foo-%7Bclosure%230%7D.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.foo-{closure#0} - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 6"><span class="line">                             <span class="code" style="--layer: 0">{ </span><span><span class="code even" style="--layer: 1" title="7:32-7:43: @0[0]: _0 = [const false; 10]
+7:45-7:45: @0.Return: return"><span class="annotation">@0⦊</span>[false; 10] }<span class="annotation">⦉@0</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.foo.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.foo.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..64eeaefa894
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.foo.-------.InstrumentCoverage.0.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.foo.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.foo - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 6"><span class="line"><span class="code" style="--layer: 0">async fn foo() -&gt; [bool; 10] { [false; 10] }</span><span><span class="code even" style="--layer: 1" title="7:45-7:45: @1.Return: return"><span class="annotation">@0,1⦊</span>‸<span class="annotation">⦉@0,1</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.g-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.g-{closure#0}.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..4e894eecd16
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.g-{closure#0}.-------.InstrumentCoverage.0.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.g-%7Bclosure%230%7D.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.g-{closure#0} - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 8"><span class="line">                      <span><span class="code even" style="--layer: 1" title="10:11-10:12: @0[3]: FakeRead(ForMatchedPlace, _3)"><span class="annotation">@0,2,3⦊</span>{</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="10:11-10:12: @0[3]: FakeRead(ForMatchedPlace, _3)">    match x<span class="annotation">⦉@0,2,3</span></span></span><span class="code" style="--layer: 0"> {</span></span>
+<span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code odd" style="--layer: 1" title="11:9-11:10: @16[3]: _4 = _3"><span class="annotation">@16⦊</span>y<span class="annotation">⦉@16</span></span></span><span class="code" style="--layer: 0"> if </span><span><span class="code even" style="--layer: 1" title="11:14-11:17: @2.Call: _8 = f() -&gt; [return: bb3, unwind: bb30]
+11:14-11:17: @3[0]: FakeRead(ForMatchedPlace, _8)"><span class="annotation">@0,2,3⦊</span>f()<span class="annotation">⦉@0,2,3</span></span></span><span class="code" style="--layer: 0">.await == </span><span><span class="code odd" style="--layer: 1" title="11:27-11:28: @14[2]: _24 = (*_5)"><span class="annotation">@9,12,14,15⦊</span>y<span class="annotation">⦉@9,12,14,15</span></span></span><span><span class="code even" style="--layer: 1" title="11:28-11:28: @17.Goto: goto -&gt; bb1"><span class="annotation">@17⦊</span>‸<span class="annotation">⦉@17</span></span></span><span class="code" style="--layer: 0"> =&gt; </span><span><span class="code odd" style="--layer: 1" title="11:32-11:34: @16[4]: _0 = ()"><span class="annotation">@16⦊</span>()<span class="annotation">⦉@16</span></span></span><span class="code" style="--layer: 0">,</span></span>
+<span class="line"><span class="code" style="--layer: 0">        _ =&gt; </span><span><span class="code even" style="--layer: 1" title="12:14-12:16: @1[0]: _0 = ()"><span class="annotation">@1⦊</span>()<span class="annotation">⦉@1</span></span></span><span class="code" style="--layer: 0">,</span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="14:2-14:2: @19.Return: return"><span class="annotation">@18,19⦊</span>‸<span class="annotation">⦉@18,19</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.g.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.g.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..4788562a9d4
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.g.-------.InstrumentCoverage.0.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.g.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.g - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 8"><span class="line"><span class="code" style="--layer: 0">pub async fn g(x: u8) {</span></span>
+<span class="line"><span class="code" style="--layer: 0">    match x {</span></span>
+<span class="line"><span class="code" style="--layer: 0">        y if f().await == y =&gt; (),</span></span>
+<span class="line"><span class="code" style="--layer: 0">        _ =&gt; (),</span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code even" style="--layer: 1" title="14:2-14:2: @1.Return: return"><span class="annotation">@0,1⦊</span>‸<span class="annotation">⦉@0,1</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.h-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.h-{closure#0}.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..de48232efde
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.h-{closure#0}.-------.InstrumentCoverage.0.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.h-%7Bclosure%230%7D.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.h-{closure#0} - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 17"><span class="line">                     <span><span class="code even" style="--layer: 1" title="19:11-19:12: @0[3]: FakeRead(ForMatchedPlace, _3)"><span class="annotation">@0,2,3⦊</span>{</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="19:11-19:12: @0[3]: FakeRead(ForMatchedPlace, _3)">    match x<span class="annotation">⦉@0,2,3</span></span></span><span class="code" style="--layer: 0"> {</span></span>
+<span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code odd" style="--layer: 1" title="20:9-20:10: @17[3]: _4 = _3"><span class="annotation">@17⦊</span>y<span class="annotation">⦉@17</span></span></span><span class="code" style="--layer: 0"> if </span><span><span class="code even" style="--layer: 1" title="20:14-20:19: @2.Call: _8 = foo() -&gt; [return: bb3, unwind: bb33]
+20:14-20:19: @3[0]: FakeRead(ForMatchedPlace, _8)"><span class="annotation">@0,2,3⦊</span>foo()<span class="annotation">⦉@0,2,3</span></span></span><span class="code" style="--layer: 0">.await[</span><span><span class="code odd" style="--layer: 1" title="20:26-20:27: @14[2]: _24 = (*_5)"><span class="annotation">@9,12,14,15,16⦊</span>y<span class="annotation">⦉@9,12,14,15,16</span></span></span><span class="code" style="--layer: 0">]</span><span><span class="code even" style="--layer: 1" title="20:28-20:28: @18.Goto: goto -&gt; bb1"><span class="annotation">@18⦊</span>‸<span class="annotation">⦉@18</span></span></span><span class="code" style="--layer: 0"> =&gt; </span><span><span class="code odd" style="--layer: 1" title="20:32-20:34: @17[4]: _0 = ()"><span class="annotation">@17⦊</span>()<span class="annotation">⦉@17</span></span></span><span class="code" style="--layer: 0">,</span></span>
+<span class="line"><span class="code" style="--layer: 0">        _ =&gt; </span><span><span class="code even" style="--layer: 1" title="21:14-21:16: @1[0]: _0 = ()"><span class="annotation">@1⦊</span>()<span class="annotation">⦉@1</span></span></span><span class="code" style="--layer: 0">,</span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="23:2-23:2: @20.Return: return"><span class="annotation">@19,20⦊</span>‸<span class="annotation">⦉@19,20</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.h.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.h.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..83b0a3e0d43
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.h.-------.InstrumentCoverage.0.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.h.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.h - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 17"><span class="line"><span class="code" style="--layer: 0">async fn h(x: usize) {</span></span>
+<span class="line"><span class="code" style="--layer: 0">    match x {</span></span>
+<span class="line"><span class="code" style="--layer: 0">        y if foo().await[y] =&gt; (),</span></span>
+<span class="line"><span class="code" style="--layer: 0">        _ =&gt; (),</span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code even" style="--layer: 1" title="23:2-23:2: @1.Return: return"><span class="annotation">@0,1⦊</span>‸<span class="annotation">⦉@0,1</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.i-{closure#0}.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.i-{closure#0}.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..71397d39625
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.i-{closure#0}.-------.InstrumentCoverage.0.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.i-%7Bclosure%230%7D.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.i-{closure#0} - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 24"><span class="line">                  <span><span class="code even" style="--layer: 1" title="26:11-26:12: @0[3]: FakeRead(ForMatchedPlace, _3)"><span class="annotation">@0,2,3⦊</span>{</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="26:11-26:12: @0[3]: FakeRead(ForMatchedPlace, _3)">    match x<span class="annotation">⦉@0,2,3</span></span></span><span class="code" style="--layer: 0"> {</span></span>
+<span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code odd" style="--layer: 1" title="27:9-27:10: @17[3]: _4 = _3"><span class="annotation">@17⦊</span>y<span class="annotation">⦉@17</span></span></span><span class="code" style="--layer: 0"> if </span><span><span class="code even" style="--layer: 1" title="27:14-27:17: @2.Call: _8 = f() -&gt; [return: bb3, unwind: bb33]
+27:14-27:17: @3[0]: FakeRead(ForMatchedPlace, _8)"><span class="annotation">@0,2,3⦊</span>f()<span class="annotation">⦉@0,2,3</span></span></span><span class="code" style="--layer: 0">.await == </span><span><span class="code odd" style="--layer: 1" title="27:27-27:28: @14[3]: _25 = (*_5)
+27:27-27:32: @14[4]: _26 = CheckedAdd(_25, const 1_u8)
+27:27-27:32: @15[0]: _24 = move (_26.0: u8)"><span class="annotation">@9,12,14,15,16⦊</span>y + 1<span class="annotation">⦉@9,12,14,15,16</span></span></span><span><span class="code even" style="--layer: 1" title="27:32-27:32: @18.Goto: goto -&gt; bb1"><span class="annotation">@18⦊</span>‸<span class="annotation">⦉@18</span></span></span><span class="code" style="--layer: 0"> =&gt; </span><span><span class="code odd" style="--layer: 1" title="27:36-27:38: @17[4]: _0 = ()"><span class="annotation">@17⦊</span>()<span class="annotation">⦉@17</span></span></span><span class="code" style="--layer: 0">,</span></span>
+<span class="line"><span class="code" style="--layer: 0">        _ =&gt; </span><span><span class="code even" style="--layer: 1" title="28:14-28:16: @1[0]: _0 = ()"><span class="annotation">@1⦊</span>()<span class="annotation">⦉@1</span></span></span><span class="code" style="--layer: 0">,</span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="30:2-30:2: @20.Return: return"><span class="annotation">@19,20⦊</span>‸<span class="annotation">⦉@19,20</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.i.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.i.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..55efca74481
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.i.-------.InstrumentCoverage.0.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.i.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.i - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 24"><span class="line"><span class="code" style="--layer: 0">async fn i(x: u8) {</span></span>
+<span class="line"><span class="code" style="--layer: 0">    match x {</span></span>
+<span class="line"><span class="code" style="--layer: 0">        y if f().await == y + 1 =&gt; (),</span></span>
+<span class="line"><span class="code" style="--layer: 0">        _ =&gt; (),</span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code even" style="--layer: 1" title="30:2-30:2: @1.Return: return"><span class="annotation">@0,1⦊</span>‸<span class="annotation">⦉@0,1</span></span></span></span></div>
+</body>
+</html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html
new file mode 100644
index 00000000000..2f14339d9e9
--- /dev/null
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html>
+<!--
+
+Preview this file as rendered HTML from the github source at:
+https://htmlpreview.github.io/?https://github.com/rust-lang/rust/blob/master/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.async/async.main.-------.InstrumentCoverage.0.html
+
+For revisions in Pull Requests (PR):
+  * Replace "rust-lang" with the github PR author
+  * Replace "master" with the PR branch name
+
+-->
+<html>
+<head>
+<title>async.main - Coverage Spans</title>
+<style>
+    .line {
+        counter-increment: line;
+    }
+    .line:before {
+        content: counter(line) ": ";
+        font-family: Menlo, Monaco, monospace;
+        font-style: italic;
+        width: 3.8em;
+        display: inline-block;
+        text-align: right;
+        filter: opacity(50%);
+        -webkit-user-select: none;
+    }
+    .code {
+        color: #dddddd;
+        background-color: #222222;
+        font-family: Menlo, Monaco, monospace;
+        line-height: 1.4em;
+        border-bottom: 2px solid #222222;
+        white-space: pre;
+        display: inline-block;
+    }
+    .odd {
+        background-color: #55bbff;
+        color: #223311;
+    }
+    .even {
+        background-color: #ee7756;
+        color: #551133;
+    }
+    .code {
+        --index: calc(var(--layer) - 1);
+        padding-top: calc(var(--index) * 0.15em);
+        filter:
+            hue-rotate(calc(var(--index) * 25deg))
+            saturate(calc(100% - (var(--index) * 2%)))
+            brightness(calc(100% - (var(--index) * 1.5%)));
+    }
+    .annotation {
+        color: #4444ff;
+        font-family: monospace;
+        font-style: italic;
+        display: none;
+        -webkit-user-select: none;
+    }
+    body:active .annotation {
+        /* requires holding mouse down anywhere on the page */
+        display: inline-block;
+    }
+    span:hover .annotation {
+        /* requires hover over a span ONLY on its first line */
+        display: inline-block;
+    }
+</style>
+</head>
+<body>
+<div class="code" style="counter-reset: line 31"><span class="line"><span class="code" style="--layer: 0">fn main() </span><span><span class="code even" style="--layer: 1" title="33:13-33:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb12]
+34:13-34:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb12]
+35:31-35:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb12]
+35:22-35:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb11]
+35:9-35:19: @6[1]: FakeRead(ForLet, _3)
+36:24-36:30: @6[5]: _7 = &amp;mut _3
+36:24-36:39: @6.Call: _6 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _7) -&gt; [return: bb7, unwind: bb10]
+36:5-36:40: @7.Call: _5 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _6) -&gt; [return: bb8, unwind: bb10]
+32:11-37:2: @8[2]: _0 = const ()
+37:2-37:2: @9.Return: return"><span class="annotation">@0,1,2,3,4,5,6,7,8,9⦊</span>{</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="33:13-33:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb12]
+34:13-34:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb12]
+35:31-35:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb12]
+35:22-35:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb11]
+35:9-35:19: @6[1]: FakeRead(ForLet, _3)
+36:24-36:30: @6[5]: _7 = &amp;mut _3
+36:24-36:39: @6.Call: _6 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _7) -&gt; [return: bb7, unwind: bb10]
+36:5-36:40: @7.Call: _5 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _6) -&gt; [return: bb8, unwind: bb10]
+32:11-37:2: @8[2]: _0 = const ()
+37:2-37:2: @9.Return: return">    let _ = g(10);</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="33:13-33:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb12]
+34:13-34:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb12]
+35:31-35:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb12]
+35:22-35:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb11]
+35:9-35:19: @6[1]: FakeRead(ForLet, _3)
+36:24-36:30: @6[5]: _7 = &amp;mut _3
+36:24-36:39: @6.Call: _6 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _7) -&gt; [return: bb7, unwind: bb10]
+36:5-36:40: @7.Call: _5 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _6) -&gt; [return: bb8, unwind: bb10]
+32:11-37:2: @8[2]: _0 = const ()
+37:2-37:2: @9.Return: return">    let _ = h(9);</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="33:13-33:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb12]
+34:13-34:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb12]
+35:31-35:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb12]
+35:22-35:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb11]
+35:9-35:19: @6[1]: FakeRead(ForLet, _3)
+36:24-36:30: @6[5]: _7 = &amp;mut _3
+36:24-36:39: @6.Call: _6 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _7) -&gt; [return: bb7, unwind: bb10]
+36:5-36:40: @7.Call: _5 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _6) -&gt; [return: bb8, unwind: bb10]
+32:11-37:2: @8[2]: _0 = const ()
+37:2-37:2: @9.Return: return">    let mut future = Box::pin(i(8));</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="33:13-33:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb12]
+34:13-34:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb12]
+35:31-35:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb12]
+35:22-35:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb11]
+35:9-35:19: @6[1]: FakeRead(ForLet, _3)
+36:24-36:30: @6[5]: _7 = &amp;mut _3
+36:24-36:39: @6.Call: _6 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _7) -&gt; [return: bb7, unwind: bb10]
+36:5-36:40: @7.Call: _5 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _6) -&gt; [return: bb8, unwind: bb10]
+32:11-37:2: @8[2]: _0 = const ()
+37:2-37:2: @9.Return: return">    executor::block_on(future.as_mut());</span></span>
+<span class="line"><span class="code even" style="--layer: 1" title="33:13-33:18: @0.Call: _1 = g(const 10_u8) -&gt; [return: bb1, unwind: bb12]
+34:13-34:17: @2.Call: _2 = h(const 9_usize) -&gt; [return: bb3, unwind: bb12]
+35:31-35:35: @4.Call: _4 = i(const 8_u8) -&gt; [return: bb5, unwind: bb12]
+35:22-35:36: @5.Call: _3 = Box::&lt;impl Future&gt;::pin(move _4) -&gt; [return: bb6, unwind: bb11]
+35:9-35:19: @6[1]: FakeRead(ForLet, _3)
+36:24-36:30: @6[5]: _7 = &amp;mut _3
+36:24-36:39: @6.Call: _6 = Pin::&lt;Box&lt;impl Future&gt;&gt;::as_mut(move _7) -&gt; [return: bb7, unwind: bb10]
+36:5-36:40: @7.Call: _5 = block_on::&lt;Pin&lt;&amp;mut impl Future&gt;&gt;(move _6) -&gt; [return: bb8, unwind: bb10]
+32:11-37:2: @8[2]: _0 = const ()
+37:2-37:2: @9.Return: return">}<span class="annotation">⦉@0,1,2,3,4,5,6,7,8,9</span></span></span></span></div>
+</body>
+</html>