This review is from Crev, a distributed system for code reviews. To add your review, set up cargo-crev.

0.1.1 (current) Rating: Strong Positive Thoroughness: Medium Understanding: High

by niklasf on 2021-10-16

Reviewed for soundness. There are two instances of unsafe code.

One is a standard pin projection.

The other is the primary purpose of the crate:

unsafe impl Sync for SyncWrapper {}

This is equivalent to the statement that all instances of &SyncWrapper can be safely sent across thread boundaries. This is true, because &SyncWrapper is useless. The crate allows no operations on &SyncWrapper alltogether. The only provided methods require &mut SyncWrapper or owned SyncWrapper.