- 08 6月, 2011 1 次提交
-
-
由 Graydon Hoare 提交于
-
- 05 6月, 2011 5 次提交
-
-
由 Brian Anderson 提交于
Eventually extensions will probably need access to the parser again, but it'll be in a different form.
-
由 Brian Anderson 提交于
After this we can remove the parser from the syntax extensions, at least for now.
-
由 Brian Anderson 提交于
-
由 Brian Anderson 提交于
-
由 Brian Anderson 提交于
Introduce an ext_ctxt record to provide a span_err method for use while expanding syntax extensions. Hopefully it will be useful for other things.
-
- 04 6月, 2011 4 次提交
-
-
由 Paul Stansifer 提交于
-
由 Paul Stansifer 提交于
-
由 Graydon Hoare 提交于
-
This is accepted everywhere, since just passing a pointer is safe.
-
- 02 6月, 2011 1 次提交
-
-
由 Graydon Hoare 提交于
-
- 01 6月, 2011 7 次提交
-
-
由 Paul Stansifer 提交于
-
由 Michael Sullivan 提交于
-
由 Michael Sullivan 提交于
-
由 Eric Holk 提交于
-
由 Graydon Hoare 提交于
-
由 Graydon Hoare 提交于
-
由 Graydon Hoare 提交于
-
- 31 5月, 2011 1 次提交
-
-
由 Brian Anderson 提交于
-
- 28 5月, 2011 2 次提交
-
-
由 Michael Sullivan 提交于
-
由 Michael Sullivan 提交于
-
- 27 5月, 2011 3 次提交
-
-
由 Paul Stansifer 提交于
-
由 Graydon Hoare 提交于
-
由 Graydon Hoare 提交于
-
- 21 5月, 2011 4 次提交
-
-
由 Tim Chevalier 提交于
-
由 Lindsey Kuper 提交于
-
由 Tim Chevalier 提交于
Change ty_fn to have a controlflow field. A 'controlflow' is essentially a bit of data that says whether or not this function never returns to the caller (if it never returns, that means it calls "fail" or another "never-returns" function on every control path). Also add syntax for annotating functions that never return: fn foo() -> ! { fail; } for example. Functions marked with ! implicitly have a result type of ty_bot, which is a new type that this commit also adds.
-
由 Patrick Walton 提交于
-
- 20 5月, 2011 2 次提交
-
-
由 Marijn Haverbeke 提交于
And fix a the single screw-up in the source code it caught.
-
由 Tim Chevalier 提交于
-
- 18 5月, 2011 3 次提交
-
-
由 Patrick Walton 提交于
-
由 Marijn Haverbeke 提交于
This only shaves a measly 19k off the rustc binary... but hey, every little thing helps.
-
由 Marijn Haverbeke 提交于
Except for _task, which is still a keyword.
-
- 17 5月, 2011 5 次提交
-
-
由 Paul Stansifer 提交于
-
由 Graydon Hoare 提交于
-
由 Graydon Hoare 提交于
-
由 Tim Chevalier 提交于
* Reorganized typestate into several modules. * Made typestate check that any function with a non-nil return type returns a value. For now, the check is a warning and not an error (see next item). * Added a "bot" type (prettyprinted as _|_), for constructs like be, ret, break, cont, and fail that don't locally return a value that can be inspected. "bot" is distinct from "nil". There is no concrete syntax for _|_, while the concrete syntax for the nil type is (). * Added support to the parser for a ! annotation on functions whose result type is _|_. Such a function is required to have either a fail or a call to another ! function that is reached in all control flow paths. The point of this annotation is to mark functions like unimpl() and span_err(), so that an alt with a call to err() in one case isn't a false positive for the return-value checker. I haven't actually annotated anything with it yet. * Random bugfixes: * * Fixed bug in trans::trans_binary that was throwing away the cleanups for nested subexpressions of an and or or (tests: box-inside-if and box-inside-if2). ** In typeck, unify the expected type arguments of a tag with the actual specified arguments.
-
由 Patrick Walton 提交于
-
- 14 5月, 2011 2 次提交
-
-
由 Marijn Haverbeke 提交于
-
由 Marijn Haverbeke 提交于
So that the type parser won't go off and try to parse a vec type when it sees vec::init_op.
-