summaryrefslogtreecommitdiffstats
path: root/tests/coverage/partial_eq.coverage
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
commitef24de24a82fe681581cc130f342363c47c0969a (patch)
tree0d494f7e1a38b95c92426f58fe6eaa877303a86c /tests/coverage/partial_eq.coverage
parentReleasing progress-linux version 1.74.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-ef24de24a82fe681581cc130f342363c47c0969a.tar.xz
rustc-ef24de24a82fe681581cc130f342363c47c0969a.zip
Merging upstream version 1.75.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/coverage/partial_eq.coverage')
-rw-r--r--tests/coverage/partial_eq.coverage48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/coverage/partial_eq.coverage b/tests/coverage/partial_eq.coverage
new file mode 100644
index 000000000..c6d9ad6cf
--- /dev/null
+++ b/tests/coverage/partial_eq.coverage
@@ -0,0 +1,48 @@
+ LL| |// This test confirms an earlier problem was resolved, supporting the MIR graph generated by the
+ LL| |// structure of this test.
+ LL| |
+ LL| 2|#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
+ ^0 ^0 ^0 ^1 ^1 ^0^0
+ LL| |pub struct Version {
+ LL| | major: usize,
+ LL| | minor: usize,
+ LL| | patch: usize,
+ LL| |}
+ LL| |
+ LL| |impl Version {
+ LL| 2| pub fn new(major: usize, minor: usize, patch: usize) -> Self {
+ LL| 2| Self {
+ LL| 2| major,
+ LL| 2| minor,
+ LL| 2| patch,
+ LL| 2| }
+ LL| 2| }
+ LL| |}
+ LL| |
+ LL| 1|fn main() {
+ LL| 1| let version_3_2_1 = Version::new(3, 2, 1);
+ LL| 1| let version_3_3_0 = Version::new(3, 3, 0);
+ LL| 1|
+ LL| 1| println!("{:?} < {:?} = {}", version_3_2_1, version_3_3_0, version_3_2_1 < version_3_3_0);
+ LL| 1|}
+ LL| |
+ LL| |/*
+ LL| |
+ LL| |This test verifies a bug was fixed that otherwise generated this error:
+ LL| |
+ LL| |thread 'rustc' panicked at 'No counters provided the source_hash for function:
+ LL| | Instance {
+ LL| | def: Item(WithOptConstParam {
+ LL| | did: DefId(0:101 ~ autocfg[c44a]::version::{impl#2}::partial_cmp),
+ LL| | const_param_did: None
+ LL| | }),
+ LL| | args: []
+ LL| | }'
+ LL| |The `PartialOrd` derived by `Version` happened to generate a MIR that generated coverage
+ LL| |without a code region associated with any `Counter`. Code regions were associated with at least
+ LL| |one expression, which is allowed, but the `function_source_hash` was only passed to the codegen
+ LL| |(coverage mapgen) phase from a `Counter`s code region. A new method was added to pass the
+ LL| |`function_source_hash` without a code region, if necessary.
+ LL| |
+ LL| |*/
+