checkpoint
Fix a bug where calling p.destroy() on the result of calling
start_program(...) would cause a segfault when p went
out of scope due to out_file/err_file being closed twice.
Update doc-comments to reflect the current year and trait
names now being capitalized.
Change the behaviour of core::run::Program.destroy to
forcibly terminate the program (as suggested in issue #5632)
cmp: derive Clone for Ordering
cmp: add Ord+TotalOrd impls for Ordering itself
libcore: fix overflow/underflow in range_step
Update tutorial: 1-tuples now exist
Update manual for single-element tuples
Update manual for single-element tuple types
Include definition of tuples for destructuring.

Updates the tutorial to include a simple definition for tuples in
section 4.2. Fixes #5132.
Feed enum field offsets to type vistors.
Export adt::trans_get_discr abstractly to the type visitor.
When repr'ing an enum value, assert that it matched some variant.
Make the enum visit callback generator more readable
Make intrinsic::Opaque more opaque
clone: managed boxes need to clone by shallow copy

Performing a deep copy isn't ever desired for a persistent data
structure, and it requires a more complex implementation to do
correctly. A deep copy needs to check for cycles to avoid an infinite
loop.
auto merge of #5763 : thestinger/rust/clone, r=nikomatsakis

Performing a deep copy isn't ever desired for a persistent data
structure, and it requires a more complex implementation to do
correctly. A deep copy needs to check for cycles to avoid an infinite
loop.
Removing some mutable fields in libstd
Removing no longer needed unsafe blocks