Generate random BigUints and BigInts
test the correct function (oops)
Incorporate feedback from huonw

- use identifiers with underscores to avoid unused variable warning
- implement on R: Rng instead of on R: RngUtil
- bugfix: zero BigInts were being generated twice as often as any
  other number
- test that gen_biguint(0) always returns zero
Merge RandBigUint and RandBigInt into single trait
Remove oldvisit.rs (yay!); part of #7081 refactoring.
change type of ExprLoop and ExprBreak elts from ident->name.

Lots of downstream changes in librustc, should be infinitesimally faster.
added test case
auto merge of #9103 : jbclements/rust/let-var-hygiene, r=erickt

update AST so that ExprBreak and ExprCont expressions contain names, not idents. Fixes #9047 and makes progress on #6993. Simplifies the compiler very slightly, should make it (infinitesimally) faster.
remove redundant tycat line from the binop table

The line marked as being for `bot` was actually for `tycat_struct`, and
can be replaced with `tycat_other`.
auto merge of #9111 : thestinger/rust/tycat, r=cmr

The line marked as being for `bot` was actually for `tycat_struct`, and
can be replaced with `tycat_other`.
Buffered I/O wrappers

The default buffer size is the same as the one in Java's BufferedWriter.

We may want BufferedWriter to have a Drop impl that flushes, but that
isn't possible right now due to #4252/#4430. This would be a bit
awkward due to the possibility of the inner flush failing. For what it's
worth, Java's BufferedReader doesn't have a flushing finalizer, but that
may just be because Java's finalizer support is awful.

Closes #8953
auto merge of #9091 : sfackler/rust/buffered, r=alexcrichton

The default buffer size is the same as the one in Java's BufferedWriter.

We may want BufferedWriter to have a Drop impl that flushes, but that
isn't possible right now due to #4252/#4430. This would be a bit
awkward due to the possibility of the inner flush failing. For what it's
worth, Java's BufferedReader doesn't have a flushing finalizer, but that
may just be because Java's finalizer support is awful.

The current implementation of BufferedStream is weird in my opinion, but
it's what the discussion in #8953 settled on.

I wrote a custom copy function since vec::copy_from doesn't optimize as
well as I would like.

Closes #8953
Implement the notion of a "generated unsafe block"

This way syntax extensions can generate unsafe blocks without worrying about
them generating unnecessary unsafe warnings. Perhaps a special keyword could be
added to be used in macros, but I don't think that's the best solution.
Flag unsafe blocks from format! as compiler-generated
auto merge of #9013 : alexcrichton/rust/generated-unsafe-blocks, r=sanxiyn

This way syntax extensions can generate unsafe blocks without worrying about them generating unnecessary unsafe warnings. Perhaps a special keyword could be added to be used in macros, but I don't think that's the best solution.

Currently if you use `format!` and friends in an `unsafe` block you're guaranteed to get some unused-unsafe warnings which is unfortunate. We normally do want these warnings, but I'm ok ignoring them in the case of compiler-generated unsafe blocks. I tried to do this in the least intrusive way possible, but others may have better ideas about how to do this.
auto merge of #9093 : pnkfelix/rust/fsk-remove-oldvisit, r=alexcrichton
auto merge of #9007 : dcrewi/rust/random-bigints, r=huonw
extra: use a mutex to wrap linenoise calls and make them threadsafe.

Fixes #3921.
extra: stop rl from leaking each line that is read.
extra: improvements & bug fixes to rl.

- Removes a layer of indirection in the storage of the completion
  callback.
- Handles user tab completion in a task in which `complete` hasn't been
  properly. Previously, if `complete` was called in one task, and `read`
  called in another, attempting to get completions would crash. This
  makes the completion handlers non-ambiguously task-local only.
- Fix a mismatch in return values between the Rust code and linenoise.