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

You write `unsafe impl<T> Send for MyBox<T> {}` for a wrapper that internally stores a `*mut T`. Setting aside whether this impl is sound, what does adding this explicit `unsafe impl` change about how the auto-trait machinery computes `Send` for `MyBox<T>` and for types containing it?

struct MyBox<T> { ptr: *mut T } unsafe impl<T> Send for MyBox<T> {}