Currently sync::Weak::{from_raw, into_raw} only accepts sized pointers. I think this is an oversight as Arc::{from_raw, into_raw} accepts unsized, and sync::Weak::into_raw even manipulates the data portion of the pointer so that unsized works as well.