Э
std::any::type_name.Size: a a a
Э
std::any::type_name.b
E
b
Z
stringify!(x), но он тебе и выдаст что ты в него положишь (то есть "x").E
f
fn take_inner(i: Inner) {}
let protocols = vec![Protocol::A(Inner{}), Protocol::B];
let owned_inner = match protocols.as_slice() {
[Protocol::A(inner), Protocol::B] => inner,
_ => return
};
take_inner(owned_inner) // expected struct Inner, found &Innerf
=> *inner, тк слайс никогда использоваться больше не будет. Но как доказать это компилятору, я не знаюЭ
Z
obj as TYPE будет сразу преобразовано в требуемый тип? или же требуется сборка с оптимизацией? Или же эта операция только для рантайма?в🧇
obj as TYPE будет сразу преобразовано в требуемый тип? или же требуется сборка с оптимизацией? Или же эта операция только для рантайма?0 as u64 то перестань, а начни писать 0u64.Э
if protocols.len() == 2 && protocols[1] == Protocol::B {
match protocols.into_iter().next().unwrap() {
Protocol::A(inner) => inner,
_ => return,
}
}f
f
f
f
f
Э
Э
let first = None; let second = None; let more_than_two = false;, и потом эти штуки матчить.Э