Borrowing is a key concept in Rust: a borrowing object is usable by the borrower but its ownership is not transferred. In other languages, an equivalent is "taking by reference".
In Rust, one can mutably borrow an object once, or immutably borrow it multiple time, but one cannot do both.
You can read more about borrowing in the corresponding Rust book chapter.