Correct span in privacy error
[collections] Adds `drain`: a way to sneak out the elements while clearing.

It is useful to move all the elements out of some collections without
deallocating the underlying buffer. It came up in IRC, and this patch
implements it as `drain`. This has been discussed as part of RFC 509.

r? @Gankro
cc: @frankmcsherry
Add privacy tests
auto merge of #19946 : cgaebel/rust/hashmap-drain-iter, r=gankro

It is useful to move all the elements out of a hashmap without deallocating
the underlying buffer. It came up in IRC, and this patch implements it as
`drain`.

r? @Gankro
cc: @frankmcsherry
auto merge of #19953 : sanxiyn/rust/privacy-span, r=alexcrichton

Fix #19062.
Minor fix for the Rust language FAQ

extra library -> standard library
Make the line numbers of the source code clickable