Skip to content

Commit 2653a6c

Browse files
Merge #722
722: Simplify `AtomicCell` `LOCKS` r=taiki-e a=Daniel-Bloom-dfinity Co-authored-by: Daniel.Bloom <daniel.bloom@dfinity.org>
2 parents f2cae5c + cb4db4c commit 2653a6c

File tree

1 file changed

+6
-98
lines changed

1 file changed

+6
-98
lines changed

crossbeam-utils/src/atomic/atomic_cell.rs

+6-98
Original file line numberDiff line numberDiff line change
@@ -683,105 +683,13 @@ fn lock(addr: usize) -> &'static SeqLock {
683683
// stored at addresses that are multiples of 3. It'd be too bad if `LEN` was divisible by 3.
684684
// In order to protect from such cases, we simply choose a large prime number for `LEN`.
685685
const LEN: usize = 97;
686-
686+
#[allow(clippy::declare_interior_mutable_const)]
687+
const L: SeqLock = SeqLock::new();
687688
static LOCKS: [SeqLock; LEN] = [
688-
SeqLock::new(),
689-
SeqLock::new(),
690-
SeqLock::new(),
691-
SeqLock::new(),
692-
SeqLock::new(),
693-
SeqLock::new(),
694-
SeqLock::new(),
695-
SeqLock::new(),
696-
SeqLock::new(),
697-
SeqLock::new(),
698-
SeqLock::new(),
699-
SeqLock::new(),
700-
SeqLock::new(),
701-
SeqLock::new(),
702-
SeqLock::new(),
703-
SeqLock::new(),
704-
SeqLock::new(),
705-
SeqLock::new(),
706-
SeqLock::new(),
707-
SeqLock::new(),
708-
SeqLock::new(),
709-
SeqLock::new(),
710-
SeqLock::new(),
711-
SeqLock::new(),
712-
SeqLock::new(),
713-
SeqLock::new(),
714-
SeqLock::new(),
715-
SeqLock::new(),
716-
SeqLock::new(),
717-
SeqLock::new(),
718-
SeqLock::new(),
719-
SeqLock::new(),
720-
SeqLock::new(),
721-
SeqLock::new(),
722-
SeqLock::new(),
723-
SeqLock::new(),
724-
SeqLock::new(),
725-
SeqLock::new(),
726-
SeqLock::new(),
727-
SeqLock::new(),
728-
SeqLock::new(),
729-
SeqLock::new(),
730-
SeqLock::new(),
731-
SeqLock::new(),
732-
SeqLock::new(),
733-
SeqLock::new(),
734-
SeqLock::new(),
735-
SeqLock::new(),
736-
SeqLock::new(),
737-
SeqLock::new(),
738-
SeqLock::new(),
739-
SeqLock::new(),
740-
SeqLock::new(),
741-
SeqLock::new(),
742-
SeqLock::new(),
743-
SeqLock::new(),
744-
SeqLock::new(),
745-
SeqLock::new(),
746-
SeqLock::new(),
747-
SeqLock::new(),
748-
SeqLock::new(),
749-
SeqLock::new(),
750-
SeqLock::new(),
751-
SeqLock::new(),
752-
SeqLock::new(),
753-
SeqLock::new(),
754-
SeqLock::new(),
755-
SeqLock::new(),
756-
SeqLock::new(),
757-
SeqLock::new(),
758-
SeqLock::new(),
759-
SeqLock::new(),
760-
SeqLock::new(),
761-
SeqLock::new(),
762-
SeqLock::new(),
763-
SeqLock::new(),
764-
SeqLock::new(),
765-
SeqLock::new(),
766-
SeqLock::new(),
767-
SeqLock::new(),
768-
SeqLock::new(),
769-
SeqLock::new(),
770-
SeqLock::new(),
771-
SeqLock::new(),
772-
SeqLock::new(),
773-
SeqLock::new(),
774-
SeqLock::new(),
775-
SeqLock::new(),
776-
SeqLock::new(),
777-
SeqLock::new(),
778-
SeqLock::new(),
779-
SeqLock::new(),
780-
SeqLock::new(),
781-
SeqLock::new(),
782-
SeqLock::new(),
783-
SeqLock::new(),
784-
SeqLock::new(),
689+
L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,
690+
L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,
691+
L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,
692+
L, L, L, L, L, L, L,
785693
];
786694

787695
// If the modulus is a constant number, the compiler will use crazy math to transform this into

0 commit comments

Comments
 (0)