Add a copy-on-write container.
Added Freeze trait to CowArc
Allow SIMD types in generics. Closes #10604
libnative: fix epoll_event struct layout

Make the definition of epoll_event use natural alignment on all
architectures except x86_64.

Before this commit, the struct was always 12 bytes big, which works okay
on x86 and x86_64 but not on ARM and MIPS, where it should be 16 bytes
big with the `data` field aligned on an 8 byte boundary.
switch to iterators instead of manual iteration where possible.
Bring in HashSet from the old HashMap implementation.
hashset stuff should build now.
added benchmarks
more benchmarks
fix the build again
Update po4a.conf and regenerate .po files.

Also, I've corrected src/doc/README.md in line with this change.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
Move term, terminfo out of extra.

cc #8784
auto merge of #11945 : xales/rust/libextra, r=huonw

cc #8784
switched to new hashmap
auto merge of #12005 : omasanori/rust/update-trans, r=brson

Also, I've corrected src/doc/README.md in line with this change.
auto merge of #12003 : bnoordhuis/rust/sizeof-epoll-event-fixup, r=brson

Make the definition of epoll_event use natural alignment on all
architectures except x86_64.

Before this commit, the struct was always 12 bytes big, which works okay
on x86 and x86_64 but not on ARM and MIPS, where it should be 16 bytes
big with the `data` field aligned on an 8 byte boundary.
Move semver out of libextra.

Done as a part of #8784.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
Remove unnecessary trailing commas.
auto merge of #12013 : Hywan/rust/doc, r=sanxiyn
std: Remove io::io_error

* All I/O now returns IoResult<T> = Result<T, IoError>
* All formatting traits now return fmt::Result = IoResult<()>
* The if_ok!() macro was added to libstd