ptr: *const Y,
_marker: std::marker::PhantomData<&'a ()>
}
impl<'a, Y: 'a> Ptr<'a, Y> {
const fn new<T: 'a + ?Sized>(refer: &T) -> Self {
Self {
ptr: (refer as *const T).cast::<Y>(),
_marker: std::marker::PhantomData
}
}
}
будет ли refer привязан к времени жизни структуры?
А какой резон так писать, кстати. Это же тупо ссылка обычная.
в доках описывалось, что ссылки плохая практика для FFI, есть разные недостатки и поэтому ввели Unique<T> в std
https://anssi-fr.github.io/rust-guide/07_ffi.html#references-and-pointers но видел ещё
https://doc.rust-lang.org/nomicon/phantom-data.html про Unique<T>, внизу
но тут похоже речь про объект, а не ссылку на него про ссылки - прошлая дока
здесь в обратную сторону, вроде
ссылки может быть для С++, так как там есть ссылки, но для С плохая идея
Обсуждают сегодня