Skip to main content
Journey Uncommon Logo
JourneyUncommon
hardRustSend and Sync auto traitsSingle-choice MCQ

`Send` and `Sync` are derived structurally by the compiler, and the relationship `T: Sync` is defined exactly as `&T: Send`. Using that definition, why is `&Cell<i32>` NOT `Send`, even though `Cell<i32>` itself IS `Send`?

use std::cell::Cell; // Cell<i32>: Send -> holds // Cell<i32>: Sync -> does NOT hold // &Cell<i32>: Send -> ?