We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 70c5af8 commit 33d80bfCopy full SHA for 33d80bf
src/libstd/sys/unix/weak.rs
@@ -45,16 +45,15 @@ impl<F> Weak<F> {
45
}
46
47
48
- pub fn get(&self) -> Option<&F> {
+ pub fn get(&self) -> Option<F> {
49
assert_eq!(mem::size_of::<F>(), mem::size_of::<usize>());
50
unsafe {
51
if self.addr.load(Ordering::SeqCst) == 1 {
52
self.addr.store(fetch(self.name), Ordering::SeqCst);
53
54
- if self.addr.load(Ordering::SeqCst) == 0 {
55
- None
56
- } else {
57
- mem::transmute::<&AtomicUsize, Option<&F>>(&self.addr)
+ match self.addr.load(Ordering::SeqCst) {
+ 0 => None,
+ addr => Some(mem::transmute_copy::<usize, F>(&addr)),
58
59
60
0 commit comments