about summary refs log tree commit diff
path: root/src/comp/syntax
AgeCommit message (Collapse)AuthorLines
2011-10-18Introduce fn@ as a synonym for fnBrian Anderson-0/+3
2011-10-12make native functions markable as unsafe and incorporate thatNiko Matsakis-6/+9
into the type check
2011-10-12make treatment of unchecked/unsafe blocks more uniformNiko Matsakis-9/+11
also repair various errors in the parser related to such blocks. rename checked_blk to default_blk to reflect the fact that it inherits its purity from the surrounding context.
2011-10-12Add unsafe blocks, unsafe functions, and two rudimentary testsNiko Matsakis-1/+2
related to them
2011-10-12Extend the unchecked block stuff to allow unsafe blocks as well.Niko Matsakis-20/+38
2011-10-12expand purity to include unsafeNiko Matsakis-0/+6
2011-10-11Introduce ast::proto_bareBrian Anderson-2/+11
Issue #1022
2011-10-11Add a temporary syntax for bare functionsBrian Anderson-8/+22
Bare functions will be represented as 'fn#' until they're implemented. Then we'll switch it over to just 'fn'. Issue #1022
2011-10-10Adjust function signatures to allow for vecs being immediateMarijn Haverbeke-8/+8
Some code was relying on vectors being implicitly by-reference (as non-immediate value). This adds the necessary &&-sigils. Closes #1021
2011-10-07Make 1-1 parse againMarijn Haverbeke-34/+76
Issue #954 This is not a very elegant fix -- we should probably do something with constant folding to handle negative-int alt patterns in the future.
2011-10-07Give up on providing a by-value version of map, convert fold over toMarijn Haverbeke-81/+79
passing pointers by ref Issue #1008
2011-10-07Parse and typecheck by-value and by-ref arg specsMarijn Haverbeke-76/+73
Add sprinkle && throughout the compiler to make it typecheck again. Issue #1008
2011-10-06Ignore && and + before argument names.Marijn Haverbeke-1/+7
Issue #1008
2011-10-03rustc: Implement C stack stdcallPatrick Walton-0/+6
2011-09-28rustc: Add a new "C stack cdecl" native ABIPatrick Walton-1/+9
2011-09-28Revert "Revert "Implement pattern ranges for all numeric types.""Brian Anderson-3/+18
This reverts commit a034f87146e60e1db2327c6f6807c47406a1bb0b. Conflicts: src/comp/middle/check_alt.rs src/comp/middle/trans_alt.rs src/comp/syntax/ast.rs src/comp/syntax/ast_util.rs src/comp/syntax/fold.rs src/comp/syntax/print/pprust.rs Conflicts: src/comp/middle/trans_alt.rs
2011-09-27Patch to error instead of crashing when parsing unmatched double quotesWade Mealing-0/+7
Patch to error and fail instead of using all available memory then crashing to detect the error condition of an unmatched double quote before the end of a file. I couldn't get it to show nice error messages, so this may not be the ideal fix. A test case for this situation has also been added.
2011-09-26Make return-by-ref function headers pretty-print safelyMarijn Haverbeke-1/+1
Closes #972
2011-09-24Reduce and clarify abuse of 'pure' in internerJesse Ruderman-3/+9
2011-09-24Mark some fns as pure so type_is_unique_box doesn't need to be uncheckedJesse Ruderman-2/+2
2011-09-24Vectors containing pinned kinds become pinnedBrian Anderson-9/+11
Otherwise they could be copied
2011-09-23Add missing case for pat_uniq to syntax::visitBrian Anderson-0/+1
Issue #409
2011-09-23Begin to support pattern matching on unique boxesBrian Anderson-0/+10
Issue #409
2011-09-23Remove backward-compatible support for 'mutable' before type.Marijn Haverbeke-8/+0
Closes #966
2011-09-21Revert "Implement pattern ranges for all numeric types."Marijn Haverbeke-18/+3
This reverts commit ce0f054f9d56df4e60291fc2e1b89ce979cf374f.
2011-09-21Implement pattern ranges for all numeric types.Josh Matthews-3/+18
2011-09-20Represent unique creation as a unop in the AST instead of its own exprBrian Anderson-10/+15
Like the box unop. Issue #409
2011-09-20Parse unique box typesBrian Anderson-0/+8
Issue #409
2011-09-19Break fold's circular reference during unwindingBrian Anderson-5/+7
This converts the AST fold into a resource that breaks it's own circular reference (just a temporary workaround until GC), so that failure during fold will unwind correctly. Issue #936
2011-09-16Require body of else-less if expressions to be a value-less blockMarijn Haverbeke-10/+14
For consistency with other constructs that could not possibly return a value (say, loops).
2011-09-16Change convention for specifying referenced argumentMarijn Haverbeke-2/+5
It is now 1-based, rather than 0 based. (Seems more natural, and allows 0 to be used to refer to self and maybe to closure.) Also allows non-referenced args to be implicitly copied again. Issue #918
2011-09-15Add parens, as needed, around else-if conditions.Jesse Ruderman-1/+1
2011-09-15Prevent binary expressions from parsing when lhs is non-value blockMarijn Haverbeke-0/+1
2011-09-15Require the parameter that will be referenced to be notedMarijn Haverbeke-8/+29
Issue #918
2011-09-15Forbid assignment to by-reference bindingsMarijn Haverbeke-2/+2
Issue #918
2011-09-15Add representation for by-ref let bindingsMarijn Haverbeke-8/+17
Issue #918
2011-09-15Ensure parens are wrapped around composite exprs in call/index/field posMarijn Haverbeke-5/+10
This is needed to fix the second example in issue #919
2011-09-15More thorough check for (.. 10).x in pretty-printerMarijn Haverbeke-5/+21
Closes #919
2011-09-15Also handle fail and put in print_maybe_parens_discrimMarijn Haverbeke-2/+5
Closes #920
2011-09-15Remove maybe_protect_block kludge from pretty-printerMarijn Haverbeke-86/+0
It is no longer needed.
2011-09-15Introduce new semicolon rulesMarijn Haverbeke-71/+44
- Loop bodies and resource constructors aren't allowed to have trailing expressions anymore. - An expression that ends* in a block without trailing expression can can not be called, indexed, or subscripted. - Only expression-statements that end* in a block without trailing expression can omit their semicolon. *) 'Ending in a trailing expression' is defined as being a block or construct-ending-in-a-block (if, alt) that either ends in an expression itself, or ends in another block-like expression that has a trailing expression (by these same rules).
2011-09-15Insert omitted semicolons for statementsMarijn Haverbeke-3/+2
2011-09-14Add syntax and representation for return-by-mutably-rooted-refMarijn Haverbeke-4/+17
This will be used in the near future to decide what can safely be done with the returned reference. Issue #918
2011-09-14Make most of the compiler aware of return-by-referenceMarijn Haverbeke-3/+6
tyencode/tydecode still don't know about it. return_ref will be extended to take arguments anyway.
2011-09-14Refactor parse_ret_ty, start parsing by-alias return specsMarijn Haverbeke-51/+24
2011-09-14Rename ast::controlflow to ast::ret_styleMarijn Haverbeke-18/+20
It will include information about returning by alias.
2011-09-14Add support for negative literals.Josh Matthews-6/+25
2011-09-13Improve lexing of float literalsMarijn Haverbeke-39/+36
Closes #575
2011-09-13Properly pretty-print 10.xMarijn Haverbeke-1/+9
Closes #890
2011-09-13Make pretty-printer wrap fail/ret/put in parens in call/index/field posMarijn Haverbeke-10/+14
Closes #764 Closes #891