about summary refs log tree commit diff
path: root/tests/coverage
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2025-01-08 17:31:40 +0000
committerlcnr <rust@lcnr.de>2025-01-09 13:55:40 +0100
commit39daadc76ebdb97e0acf242791be129ae1003e16 (patch)
tree1418e9ef2251a2f9c09dc3c25851cacf099f1d6b /tests/coverage
parentb6b8361bce8561fb8786ad33ca1abfdf4bc487b6 (diff)
Account for identity substituted items in symbol mangling
Diffstat (limited to 'tests/coverage')
-rw-r--r--tests/coverage/generic-unused-impl.cov-map18
-rw-r--r--tests/coverage/generic-unused-impl.coverage17
-rw-r--r--tests/coverage/generic-unused-impl.rs16
3 files changed, 51 insertions, 0 deletions
diff --git a/tests/coverage/generic-unused-impl.cov-map b/tests/coverage/generic-unused-impl.cov-map
new file mode 100644
index 00000000000..7cb6d2f385d
--- /dev/null
+++ b/tests/coverage/generic-unused-impl.cov-map
@@ -0,0 +1,18 @@
+Function name: <generic_unused_impl::W<_> as core::convert::From<[<_ as generic_unused_impl::Foo>::Assoc; 1]>>::from (unused)
+Raw bytes (9): 0x[01, 01, 00, 01, 00, 0a, 05, 03, 06]
+Number of files: 1
+- file 0 => global file 1
+Number of expressions: 0
+Number of file 0 mappings: 1
+- Code(Zero) at (prev + 10, 5) to (start + 3, 6)
+Highest counter ID seen: (none)
+
+Function name: generic_unused_impl::main
+Raw bytes (9): 0x[01, 01, 00, 01, 01, 10, 01, 00, 0d]
+Number of files: 1
+- file 0 => global file 1
+Number of expressions: 0
+Number of file 0 mappings: 1
+- Code(Counter(0)) at (prev + 16, 1) to (start + 0, 13)
+Highest counter ID seen: c0
+
diff --git a/tests/coverage/generic-unused-impl.coverage b/tests/coverage/generic-unused-impl.coverage
new file mode 100644
index 00000000000..0c20285f845
--- /dev/null
+++ b/tests/coverage/generic-unused-impl.coverage
@@ -0,0 +1,17 @@
+   LL|       |trait Foo {
+   LL|       |    type Assoc;
+   LL|       |
+   LL|       |    fn from(s: Self::Assoc) -> Self;
+   LL|       |}
+   LL|       |
+   LL|       |struct W<T>(T);
+   LL|       |
+   LL|       |impl<T: Foo> From<[T::Assoc; 1]> for W<T> {
+   LL|      0|    fn from(from: [T::Assoc; 1]) -> Self {
+   LL|      0|        let [item] = from;
+   LL|      0|        W(Foo::from(item))
+   LL|      0|    }
+   LL|       |}
+   LL|       |
+   LL|      1|fn main() {}
+
diff --git a/tests/coverage/generic-unused-impl.rs b/tests/coverage/generic-unused-impl.rs
new file mode 100644
index 00000000000..e44b1ca8a1d
--- /dev/null
+++ b/tests/coverage/generic-unused-impl.rs
@@ -0,0 +1,16 @@
+trait Foo {
+    type Assoc;
+
+    fn from(s: Self::Assoc) -> Self;
+}
+
+struct W<T>(T);
+
+impl<T: Foo> From<[T::Assoc; 1]> for W<T> {
+    fn from(from: [T::Assoc; 1]) -> Self {
+        let [item] = from;
+        W(Foo::from(item))
+    }
+}
+
+fn main() {}