rust/src/test/bench
Alex Crichton d1c584e41b syntax: Tweak parsing lifetime bounds on closures
In summary these are some example transitions this change makes:

    'a ||       => ||: 'a
    proc:Send() => proc():Send

The intended syntax for closures is to put the lifetime bound not at the front
but rather in the list of bounds. Currently there is no official support in the
AST for bounds that are not 'static, so this case is currently specially handled
in the parser to desugar to what the AST is expecting. Additionally, this moves
the bounds on procedures to the correct position, which is after the argument
list.

The current grammar for closures and procedures is:

    procedure := 'proc' [ '<' lifetime-list '>' ] '(' arg-list ')'
                        [ ':' bound-list ] [ '->' type ]
    closure := [ 'unsafe' ] ['<' lifetime-list '>' ] '|' arg-list '|'
                        [ ':' bound-list ] [ '->' type ]
    lifetime-list := lifetime | lifetime ',' lifetime-list
    arg-list := ident ':' type | ident ':' type ',' arg-list
    bound-list := bound | bound '+' bound-list
    bound := path | lifetime

This does not currently handle the << ambiguity in `Option<<'a>||>`, I am
deferring that to a later patch. Additionally, this removes the support for the
obsolete syntaxes of ~fn and &fn.

Closes #10553
Closes #10767
Closes #11209
Closes #11210
Closes #11211
2014-04-06 00:08:21 -07:00
..
core-map.rs rename std::vec -> std::slice 2014-03-20 01:30:27 -04:00
core-set.rs Update users for the std::rand -> librand move. 2014-03-12 11:31:43 +11:00
core-std.rs vec: convert append and append_one to methods 2014-03-31 01:13:48 -04:00
core-uint-to-str.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
msgsend-pipes-shared.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
msgsend-pipes.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
msgsend-ring-mutex-arcs.rs test: Update all tests with the sync changes 2014-03-24 17:17:46 -07:00
msgsend-ring-rw-arcs.rs test: Update all tests with the sync changes 2014-03-24 17:17:46 -07:00
noise.rs Fix fallout of requiring uint indices 2014-04-02 15:56:31 -07:00
rt-messaging-ping-pong.rs extra: Put the nail in the coffin, delete libextra 2014-03-14 13:59:02 -07:00
rt-parfib.rs extra: Put the nail in the coffin, delete libextra 2014-03-14 13:59:02 -07:00
rt-spawn-rate.rs Test fixes from the rollup 2014-04-03 17:11:26 -07:00
shootout-ackermann.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
shootout-binarytrees.rs iter: remove to_owned_vec 2014-03-23 05:41:23 -04:00
shootout-chameneos-redux.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
shootout-fannkuch-redux.rs Fix fallout of requiring uint indices 2014-04-02 15:56:31 -07:00
shootout-fasta-redux.rs test: Make manual changes to deal with the fallout from removal of 2014-03-21 23:37:21 +11:00
shootout-fasta.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
shootout-fibo.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
shootout-k-nucleotide-pipes.rs vec: convert append and append_one to methods 2014-03-31 01:13:48 -04:00
shootout-k-nucleotide.data Revert "src/test/bench: restructure" 2013-08-30 16:17:53 -04:00
shootout-k-nucleotide.rs Fix fallout of requiring uint indices 2014-04-02 15:56:31 -07:00
shootout-mandelbrot.rs std: Switch stdout/stderr to buffered by default 2014-03-01 10:06:20 -08:00
shootout-meteor.rs syntax: Tweak parsing lifetime bounds on closures 2014-04-06 00:08:21 -07:00
shootout-nbody.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
shootout-pfib.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
shootout-pidigits.rs Move std::num::Integer to libnum 2014-02-22 01:45:29 +11:00
shootout-reverse-complement.rs Fix fallout of requiring uint indices 2014-04-02 15:56:31 -07:00
shootout-spectralnorm.rs test: Update all tests with the sync changes 2014-03-24 17:17:46 -07:00
shootout-threadring.rs test: Make manual changes to deal with the fallout from removal of 2014-03-21 23:37:21 +11:00
silly-test-spawn.rs bench: Put the spawn bench back on libgreen 2014-03-26 09:18:49 -07:00
spawnone.rs Remove do keyword from test/ 2014-01-29 09:15:42 -05:00
std-smallintmap.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
sudoku.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
task-perf-alloc-unwind.rs vec: convert append and append_one to methods 2014-03-31 01:13:48 -04:00
task-perf-jargon-metal-smoke.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
task-perf-one-million.rs test: Automatically remove all ~[T] from tests. 2014-03-21 23:37:21 +11:00
task-perf-spawnalot.rs Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00