rust/src/test
Alex Crichton 0c7c93b8e8 std: Improve non-task-based usage
A few notable improvements were implemented to cut down on the number of aborts
triggered by the standard library when a local task is not found.

* Primarily, the unwinding functionality was restructured to support an unsafe
  top-level function, `try`. This function invokes a closure, capturing any
  failure which occurs inside of it. The purpose of this function is to be as
  lightweight of a "try block" as possible for rust, intended for use when the
  runtime is difficult to set up.

  This function is *not* meant to be used by normal rust code, nor should it be
  consider for use with normal rust code.

* When invoking spawn(), a `fail!()` is triggered rather than an abort.

* When invoking LocalIo::borrow(), which is transitively called by all I/O
  constructors, None is returned rather than aborting to indicate that there is
  no local I/O implementation.

* Invoking get() on a TLD key will return None if no task is available

* Invoking replace() on a TLD key will fail if no task is available.

A test case was also added showing the variety of things that you can do without
a runtime or task set up now. In general, this is just a refactoring to abort
less quickly in the standard library when a local task is not found.
2014-06-04 11:13:12 -07:00
..
auxiliary std: Rename {Eq,Ord} to Partial{Eq,Ord} 2014-05-30 15:52:24 -07:00
bench std: Drop Total from Total{Eq,Ord} 2014-06-01 10:31:27 -07:00
codegen
compile-fail auto merge of #14628 : luqmana/rust/fcr, r=nikomatsakis 2014-06-03 19:36:42 -07:00
compile-fail-fulldeps test: Move syntax extension tests to cfail-full 2014-05-15 23:22:06 -07:00
debuginfo debuginfo: Make DWARF representation of enums uniform. 2014-05-29 14:21:03 +02:00
pretty Move std::{reflect,repr,Poly} to a libdebug crate 2014-05-27 21:44:51 -07:00
run-fail std: Remove format_strbuf!() 2014-05-28 08:35:41 -07:00
run-make std: Rename {Eq,Ord} to Partial{Eq,Ord} 2014-05-30 15:52:24 -07:00
run-pass std: Improve non-task-based usage 2014-06-04 11:13:12 -07:00
run-pass-fulldeps std: Rename {Eq,Ord} to Partial{Eq,Ord} 2014-05-30 15:52:24 -07:00