summaryrefslogtreecommitdiffstats
path: root/src/test/run-make-fulldeps/emit/test-26235.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
commit218caa410aa38c29984be31a5229b9fa717560ee (patch)
treec54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/run-make-fulldeps/emit/test-26235.rs
parentReleasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz
rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/run-make-fulldeps/emit/test-26235.rs')
-rw-r--r--src/test/run-make-fulldeps/emit/test-26235.rs46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/test/run-make-fulldeps/emit/test-26235.rs b/src/test/run-make-fulldeps/emit/test-26235.rs
deleted file mode 100644
index 07d975f33..000000000
--- a/src/test/run-make-fulldeps/emit/test-26235.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-// Checks for issue #26235
-
-fn main() {
- use std::thread;
-
- type Key = u32;
- const NUM_THREADS: usize = 2;
-
- #[derive(Clone,Copy)]
- struct Stats<S> {
- upsert: S,
- delete: S,
- insert: S,
- update: S
- };
-
- impl<S> Stats<S> where S: Copy {
- fn dot<B, F, T>(self, s: Stats<T>, f: F) -> Stats<B> where F: Fn(S, T) -> B {
- let Stats { upsert: u1, delete: d1, insert: i1, update: p1 } = self;
- let Stats { upsert: u2, delete: d2, insert: i2, update: p2 } = s;
- Stats { upsert: f(u1, u2), delete: f(d1, d2), insert: f(i1, i2), update: f(p1, p2) }
- }
-
- fn new(init: S) -> Self {
- Stats { upsert: init, delete: init, insert: init, update: init }
- }
- }
-
- fn make_threads() -> Vec<thread::JoinHandle<()>> {
- let mut t = Vec::with_capacity(NUM_THREADS);
- for _ in 0..NUM_THREADS {
- t.push(thread::spawn(move || {}));
- }
- t
- }
-
- let stats = [Stats::new(0); NUM_THREADS];
- make_threads();
-
- {
- let Stats { ref upsert, ref delete, ref insert, ref update } = stats.iter().fold(
- Stats::new(0), |res, &s| res.dot(s, |x: Key, y: Key| x.wrapping_add(y)));
- println!("upserts: {}, deletes: {}, inserts: {}, updates: {}",
- upsert, delete, insert, update);
- }
-}