V
Size: a a a
V
V
fn foo(list: &[i32]) -> &i32 {}
NE
fn foo(list: &[i32]) -> &i32 {}
V
V
NE
P
NE
P
P
NE
MB
BN
MK
BL
S
АК
f
(лайфтаймы расставил для ясности):fn f1<'a, T>(data: &'a [u8]) -> T
where
T: TryFrom<&'a [u8]>,
<T as TryFrom<&'a [u8]>>::Error: std::fmt::Debug
{
data.try_into().unwrap()
}
data
не был аргументом, а скорее локальной переменной с локальным временем жизни. Допустим, так:fn f2<'?, T>() -> T
where
T: TryFrom<&'? [u8]>,
<T as TryFrom<&'? [u8]>>::Error: std::fmt::Debug
{
let vec = vec![0u8; 4];
let data: &[u8] = &vec;
data.try_into().unwrap()
}
data
, но я его не знаю. Пробовал везде наугад прописать какой-то конкретный лайфтайм, не помогло.K
f
(лайфтаймы расставил для ясности):fn f1<'a, T>(data: &'a [u8]) -> T
where
T: TryFrom<&'a [u8]>,
<T as TryFrom<&'a [u8]>>::Error: std::fmt::Debug
{
data.try_into().unwrap()
}
data
не был аргументом, а скорее локальной переменной с локальным временем жизни. Допустим, так:fn f2<'?, T>() -> T
where
T: TryFrom<&'? [u8]>,
<T as TryFrom<&'? [u8]>>::Error: std::fmt::Debug
{
let vec = vec![0u8; 4];
let data: &[u8] = &vec;
data.try_into().unwrap()
}
data
, но я его не знаю. Пробовал везде наугад прописать какой-то конкретный лайфтайм, не помогло.АК