Why does std::io::copy
require that both the reader and writer arguments need to be passed as mutable references?
I can understand why the writer needs to be mutated in order to accommodate data being written to it, changing its internal state.
However, why must a reader also be flagged as a mutable reference? If I am only reading data, then wouldn't I just need a reference to a given type and not a mutable reference?