blob: d5fee12d1f70ea82b8f4ec56bd62b84366263f8c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# Version 0.7.2
- Fix bug in release (yanking 0.7.1)
# Version 0.7.1
- Bump `autocfg` dependency to version 1.0. (#460)
- Make `AtomicCell` lockfree for u8, u16, u32, u64 sized values at 1.34+. (#454)
# Version 0.7.0
- Bump the minimum required version to 1.28.
- Fix breakage with nightly feature due to rust-lang/rust#65214.
- Apply `#[repr(transparent)]` to `AtomicCell`.
- Make `AtomicCell::new()` const function at 1.31+.
# Version 0.6.6
- Add `UnwindSafe` and `RefUnwindSafe` impls for `AtomicCell`.
- Add `AtomicCell::as_ptr()`.
- Add `AtomicCell::take()`.
- Fix a bug in `AtomicCell::compare_exchange()` and `AtomicCell::compare_and_swap()`.
- Various documentation improvements.
# Version 0.6.5
- Rename `Backoff::is_complete()` to `Backoff::is_completed()`.
# Version 0.6.4
- Add `WaitGroup`, `ShardedLock`, and `Backoff`.
- Add `fetch_*` methods for `AtomicCell<i128>` and `AtomicCell<u128>`.
- Expand documentation.
# Version 0.6.3
- Add `AtomicCell`.
- Improve documentation.
# Version 0.6.2
- Add `Parker`.
- Improve documentation.
# Version 0.6.1
- Fix a soundness bug in `Scope::spawn()`.
- Remove the `T: 'scope` bound on `ScopedJoinHandle`.
# Version 0.6.0
- Move `AtomicConsume` to `atomic` module.
- `scope()` returns a `Result` of thread joins.
- Remove `spawn_unchecked`.
- Fix a soundness bug due to incorrect lifetimes.
- Improve documentation.
- Support nested scoped spawns.
- Implement `Copy`, `Hash`, `PartialEq`, and `Eq` for `CachePadded`.
- Add `CachePadded::into_inner()`.
# Version 0.5.0
- Reorganize sub-modules and rename functions.
# Version 0.4.1
- Fix a documentation link.
# Version 0.4.0
- `CachePadded` supports types bigger than 64 bytes.
- Fix a bug in scoped threads where unitialized memory was being dropped.
- Minimum required Rust version is now 1.25.
# Version 0.3.2
- Mark `load_consume` with `#[inline]`.
# Version 0.3.1
- `load_consume` on ARM and AArch64.
# Version 0.3.0
- Add `join` for scoped thread API.
- Add `load_consume` for atomic load-consume memory ordering.
- Remove `AtomicOption`.
# Version 0.2.2
- Support Rust 1.12.1.
- Call `T::clone` when cloning a `CachePadded<T>`.
# Version 0.2.1
- Add `use_std` feature.
# Version 0.2.0
- Add `nightly` feature.
- Use `repr(align(64))` on `CachePadded` with the `nightly` feature.
- Implement `Drop` for `CachePadded<T>`.
- Implement `Clone` for `CachePadded<T>`.
- Implement `From<T>` for `CachePadded<T>`.
- Implement better `Debug` for `CachePadded<T>`.
- Write more tests.
- Add this changelog.
- Change cache line length to 64 bytes.
- Remove `ZerosValid`.
# Version 0.1.0
- Old implementation of `CachePadded` from `crossbeam` version 0.3.0
|