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>, внизу
но тут похоже речь про объект, а не ссылку на него про ссылки - прошлая дока
здесь в обратную сторону, вроде
ссылки может быть для С++, так как там есть ссылки, но для С плохая идея
Обсуждают сегодня