такого?
pub fn do_static<T>(val: T) -> &'static T {
let val = Box::new(val);
let res: &T = val.as_ref();
let res = unsafe { std::mem::transmute::<&T, &'static T>(res) };
mem::forget(val);
res
}
Box::new().leak()
Нима там leak ((
Box::leak(val)
О, а зачем так?
потому что бокс это смартпоинтер с дерефом
А есть какой-то тип данных чтоб оборачивать такое? к примеру Static<MyType> И чтоб он работал как Arc или Box. Ну то есть все методы можно было бы дергать из MyType даже если оно в обертке.. Просто я так думаю писать везде &'static MyType Не очень то и красиво... Static<MyType> было бы как-то красивее
type Static<T> = &'static T;
АХахахахахааахахахаа
А, точно, спасибо
Обсуждают сегодня