Rust calls a wrong function, I am confused The following code compiles with a warning (on take function):