summaryrefslogtreecommitdiffstats
path: root/tests/ui/issues/auxiliary/issue-31702-2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/issues/auxiliary/issue-31702-2.rs')
-rw-r--r--tests/ui/issues/auxiliary/issue-31702-2.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/issues/auxiliary/issue-31702-2.rs b/tests/ui/issues/auxiliary/issue-31702-2.rs
new file mode 100644
index 000000000..d360ae0ca
--- /dev/null
+++ b/tests/ui/issues/auxiliary/issue-31702-2.rs
@@ -0,0 +1,20 @@
+// compile-flags: -g
+
+extern crate issue_31702_1;
+
+use std::collections::HashMap;
+use issue_31702_1::U256;
+
+pub struct Ethash {
+ engine_params: fn() -> Option<&'static Vec<u8>>,
+ u256_params: HashMap<String, U256>,
+}
+
+impl Ethash {
+ pub fn u256_param(&mut self, name: &str) -> U256 {
+ let engine = self.engine_params;
+ *self.u256_params.entry(name.to_owned()).or_insert_with(|| {
+ engine().map_or(U256::new(0u64), |_a| loop {})
+ })
+ }
+}