Remove incorrect assert in trans

As an optimization, once unboxed closures receive their environment by
value if it fits within the size of an `int`.  An assert in this code
path assumed that this would only occur if the environment had no more
than a single free variable in it, but multiple smaller free variables
can easily be packed into the space of an `int`, particularly if any
of them are 0-sized.  The assert can simply be removed.

Closes #18652
Add regression test for #18652
Derive Clone for TypeId.
Remove unnecessary `.to_string()`s from `Vec.swap_remove`'s doc example.
Properly static lib packaging

Fixes #18574
Prepend should be append in the 30 minute intro

The examples are about adding to the end of the array, not the
beginning.
Make TyTrait embed a `TraitRef`, so that when we extend TraitRef, it naturally carries over to object types.

I wanted to embed an `Rc<TraitRef>`, but I was foiled by the current
static rules, which prohibit non-Sync values from being stored in
static locations. This means that the constants for `ty_int` and so
forth cannot be initialized.
Update parser with `for` syntax
Update tests where we don't report errors twice anymore
Purge the old `once_fns`, which are not coming back
Fix tidy error
Implement len() for EnumSet.
Rename deprecated EnumSet methods in unit tests.
Add BitXor to EnumSet.
syntax: Use UFCS in the expansion of `#[deriving(PartialOrd)]`
Add tests for BitAnd and BitXor.
Update Partial/Total Eq/Ord terminology
Reword &str coercion into viewing
auto merge of #18731 : chris-morgan/rust/derive-Clone-for-TypeId, r=alexcrichton
Renamed Extendable to Extend

In order to upgrade, simply rename the Extendable trait to Extend in
your code

Part of #18424

[breaking-change]