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)
Include definition of tuples for destructuring.

Updates the tutorial to include a simple definition for tuples in
section 4.2. Fixes #5132.
Add #[start] attribute to define a new entry point function
Rename tydecode::parse_int to parse_uint

It does not handle signs.
LLVM versions
README: "driver/rust.rs" => "rust.rc"
Change tests to use new error message
auto merge of #5813 : sanxiyn/rust/llvm-version, r=thestinger

See my [post](https://mail.mozilla.org/pipermail/rust-dev/2013-April/003518.html) on the mailing list for details.

Also:

* 3.2 is newer than 3.2svn, so I changed the ordering. (3.2svn is the version used between 3.2 and 3.3.)
* 3.3svn is added. This is the version you currently get from compiling LLVM trunk.
* 3.3 is added. 3.3 is not released yet, but this is the version used by http://llvm.org/apt/.
auto merge of #5812 : kud1ing/rust/patch-1, r=sanxiyn

"driver/rustc.rs" does not exist anymore
Update destructuring to reference tuples section.
auto merge of #5773 : dunsmoreb/rust/incoming, r=bstrie

Updates the tutorial to include a simple definition for tuples in section 4.2. Fixes #5132.
librustc: implement a #[packed] attribute for structs.

A struct (inc. tuple struct) can be annotated with #[packed], so that there
is no padding between its elements, like GCC's `__attribute__((packed))`.

Closes #1704
testsuite: tests for #[packed] structs.
auto merge of #5816 : dbaupp/rust/rustc-packed-v2, r=nikomatsakis

#5758 take 2.

This adds a `#[packed]` attribute for structs, like GCC's `__attribute__((packed))`, e.g.

```rust
#[packed]
struct Size5 {
   a: u8,
   b: u32
}
```

It works on normal and tuple structs, but is (silently) ignored on enums.

Closes #1704.
Revert map.each to something which takes two parameters
rather than a tuple.  The current setup iterates over
`BaseIter<(&'self K, &'self V)>` where 'self is a lifetime declared
*in the each method*.  You can't place such a type in
the impl declaration.  The compiler currently allows it,
but this will not be legal under #5656 and I'm pretty sure
it's not sound now.
Reason about nested free variables that appear in a function
signature.  In a nutshell, the idea is to (1) report an error if, for
a region pointer `'a T`, the lifetime `'a` is longer than any
lifetimes that appear in `T` (in other words, if a borrowed pointer
outlives any portion of its contents) and then (2) use this to assume
that in a function like `fn(self: &'a &'b T)`, the relationship `'a <=
'b` holds. This is needed for #5656.  Fixes #5728.
Added iter_to_vec conversion fn