Consume once fns when calling them (#2549).
Permit moving out of captured upvars in once fns. Close #2549.
Add tests for once functions (#2549).
Hide the once-move-out privilege for stack fns behind '-Z once-fns'
Oops, hide 'unless once fn' error message hint behind -Z once-fns too.
Added overview of the debuginfo module at the beginning of debuginfo.rs.
Fixed compiler warnings about unnecessary string allocations in debuginfo.rs
Reordered debuginfo.rs and commented public fns
debuginfo.rs: Removed some static constants not used anymore.
debuginfo.rs: Explained why a function is called although one could think it should not be.
debuginfo.rs: Removed trailing whitespace.
extra: Add a testcase for #7256.
Make task_rng() return @mut R instead of @@mut R
librustc: Don't allow enum struct variants to shadow structs.
Add test for duplicate definitions of structs and enum struct variants.
Added filtered method for Option type
Remove `ast::pure_fn` and all concept of `pure` from the compiler
Fix take glue of owned trait objects

This finishes the incomplete conversion of unique traits as two-word
allocations started in 211d038abc05c77785f72a31840016517cf218c2.

Fixes #5882, #6717, #7153, #7208.
replaced some 'std::' with 'extra::' in comments
Expand the deriving(ToStr) implementation