amarao_san

растовое

std::mem::replace и std::mem::swap — это такое гигантское читерство, что просто словами не описать. 

fn foo(&mut self) {
   std::mem::replace(self, Self::new("something"));
}

Т.е. нам передают ссылку, а мы берём и заменяем содержимое по этой ссылке новым объектом. Старый нам возвращают, после чего у него происходит полная деструкция. Разве это нам обещал borrock? Но удобно, удобно...

Error

default userpic

Your IP address will be recorded 

When you submit the form an invisible reCAPTCHA check will be performed.
You must follow the Privacy Policy and Google Terms of use.