Add [mut_]shift_ref/[mut_]pop_ref functions, which return a pointer to the first/last item in the slice and modify the slice to exclude the returned item. Useful when writing iterators over mutable references.
Add benchmark tests to path/posix

I have written some benchmark tests to `push`, `push_many`, `join`,
`join_many` and `ends_with_path`.
rustdoc: Use new ||/proc syntax
auto merge of #10691 : g3xzh/rust/benchm, r=cmr

I have written some benchmark tests to `push`, `push_many`, `join`,
`join_many` and `ends_with_path`.

Let me know what you think (@cmr).
Thanks in advance.
auto merge of #10694 : klutzy/rust/rustdoc-closure, r=alexcrichton
Modify iterators to make them safe with the new rules.
Test that reborrowing contents of an `&'a mut &'b mut` pointer can only
be done for at most lifetime `'a`

Fixes #8624
auto merge of #10519 : nikomatsakis/rust/issue-8624-borrowck-overly-permissive, r=pnkfelix

See #8624 for details.

r? @pnkfelix