Implement Zero for unit
Give tasks useful names. #2891
Move atomically to unstable::sync, and document what it actually does. Close #7872.
std: Remove PortSet. Not supported by new scheduler. Replace uses with SharedChan.
test: add more codegen tests, add copyright headers to all.
mk/tests.mk: fix typo "srcrustllvm"
mk/tests.mk: remove mention of nonexistent files
rc: from_{owned,const} -> from_{send,freeze}
migrate many `for` loops to `foreach`
auto merge of #8184 : thestinger/rust/retreat, r=huonw
auto merge of #8155 : stepancheg/rust/unit-zero, r=alexcrichton
auto merge of #8158 : bblum/rust/task-cleanup, r=brson

r? @brson
auto merge of #8164 : brson/rust/noportset, r=pcwalton

...haredChan.
std: Use `do` blocks instead of `for` with .iter_bytes()
extra: Use `do` instead of `for` in extra::iter
std: Replace `for` with `do { .. }` expr where internal iterators are used
extra: Replace `for` with `do { .. }` expr where internal iterators are used
extra: Use external iterators in bitv implementation

Convert some internally used functions to use a external iterators.

Change all uses of remaining internal iterators to use `do` expr
std: Remove the internal iterator methods from trait Set

.intersection(), .union() etc methods in trait std::container::Set use
internal iters. Remove these methods from the trait.

I reported issue #8154 for the reinstatement of iterator-based set algebra
methods to the Set trait.

For bitv and treemap, that lack Iterator implementations of set
operations, preserve them as methods directly on the types themselves.

For HashSet, these methods are replaced by the present .union_iter()
etc.
std: Replace `for` with `do { .. }` expr in std::gc

Change all users of old-style for with internal iterators to using
`do`-loops.

The code in stackwalk.rs does not actually implement the
looping protocol (no break on return false).

The code in gc.rs does not use loop breaks, nor does any code using it.

We remove the capacity to break from the loops in std::gc and implement
the walks using `do { .. }` expressions.

No behavior change.