EG
Size: a a a
EG
EG
EG
EG
vec.replace(i, x)
возвращает старое значениеEG
EG
a[i] = x
это более или менее сахар для*<&mut [T] as IndexMut<Idx>>::index_mut(<Vec<T> as DerefMut>::deref_mut(&mut a), i) = x;тут даже никаких специальных правил не потребуется. Неявный дроп происходит, считай, в юзерском коде, а не в реализации трейта.
r
EG
EG
B
EG
EG
Vec<!>
, например.B
EG
EG
KR
[
ΑZ
[
ΑZ