The [`std::rc::Weak::new`](https://doc.rust-lang.org/std/rc/struct.Weak.html#method.new) and [`std::sync::Weak::new`](https://doc.rust-lang.org/std/sync/struct.Weak.html#method.new) constructors added in #30467 should be able to work with `T: ?Sized`. ```rust let _: Weak<str> = Weak::new(); ```