summary refs log tree commit diff
path: root/src/libsyntax/ast.rs
AgeCommit message (Collapse)AuthorLines
2014-01-07'borrowed pointer' -> 'reference'Brian Anderson-1/+1
2014-01-03librustc: Remove `@mut` support from the parserPatrick Walton-3/+2
2014-01-03libsyntax: De-`@mut` `SCTable::rename_memo`Patrick Walton-1/+1
2014-01-03libsyntax: De-`@mut` `SCTable::mark_memo`Patrick Walton-3/+3
2014-01-03libsyntax: De-`@mut` `SCTable::table`Patrick Walton-1/+2
2014-01-01Remove `extern mod foo (name="bar")` syntax, closes #9543Florian Hahn-1/+1
2013-12-17Remove obsolete mutability from ast::TySeo Sanghyeon-3/+3
2013-12-08Fix comment on ast::DefStructKiet Tran-3/+8
2013-12-01auto merge of #10750 : Blei/rust/no-at-struct-field, r=alexcrichtonbors-3/+3
2013-12-01ast: Remove one `@` and fix the falloutPhilipp Brüschweiler-3/+3
2013-12-01Box Block, fn_decl, variant and Ty in the AST, as they were inflating ↵Eduard Burtescu-31/+38
critical enum sizes.
2013-11-28Register new snapshotsAlex Crichton-1/+1
2013-11-27Freeze the AST by removing a couple of unused @mut ~[T] from token_tree.Eduard Burtescu-2/+14
2013-11-27Shink NodeId, CrateNum, Name and Mrk down to 32 bits on x64.Eduard Burtescu-7/+7
2013-11-24Add comments to ast, ast_map, ty, and pat_utilKiet Tran-0/+11
2013-11-21Remove ty_macSeo Sanghyeon-1/+0
2013-11-18Use '..' as slice wildcard in vectorsBrian Anderson-0/+1
2013-11-08Address comments from @pnkfelix (thanks for the detailed review)Niko Matsakis-6/+0
2013-11-08Rename and modernize region enum namesNiko Matsakis-2/+2
2013-11-08Generalize AST and ty::Generics to accept multiple lifetimes.Niko Matsakis-5/+5
2013-11-08Create a new pass to resolve named lifetimes; rscope is not onlyNiko Matsakis-0/+14
used to indicate when anonymous regions (i.e., &T) are permitted
2013-11-05auto merge of #10285 : sfackler/rust/weird-derivings, r=huonwbors-3/+0
They seem to have been added by accident.
2013-11-04Remove #[deriving]s on implsSteven Fackler-3/+0
They seem to have been added by accident.
2013-11-04libsyntax/librustc: Allow calling variadic foreign functions.Luqman Aden-0/+1
2013-10-29librustc: Implement the `proc` type as sugar for `~once fn` and `proc`Patrick Walton-0/+1
notation for closures, and disable the feature gate for `once fn` if used with the `~` sigil.
2013-10-28Field identifiers now include specific spans (Closes #8263).Joshua Yanovski-1/+3
2013-10-25libsyntax/librustc: Allow mut qualifier in patterns.Luqman Aden-5/+3
2013-10-22libsyntax/librustc: Allow specifying mut on ~self.Luqman Aden-1/+1
2013-10-22libsyntax/librustc: Allow specifying mut on by-value self.Luqman Aden-3/+3
2013-10-22Drop the '2' suffix from logging macrosAlex Crichton-1/+1
Who doesn't like a massive renaming?
2013-10-18Optimize include_bin! for large inputsAlex Crichton-0/+1
Previously an ExprLit was created *per byte* causing a huge increase in memory bloat. This adds a new `lit_binary` to contain a literal of binary data, which is currently only used by the include_bin! syntax extension. This massively speeds up compilation times of the shootout-k-nucleotide-pipes test before: time: 469s memory: 6GB assertion failure in LLVM (section too large) after: time: 2.50s memory: 124MB Closes #2598
2013-10-10Remove named extern blocks from the ASTAlex Crichton-8/+0
There's currently a fair amount of code which is being ignored on unnamed blocks (which are the default now), and I opted to leave it commented out for now. I intend on very soon revisiting on how we perform linking with extern crates in an effort to support static linking.
2013-10-08add new enum ast::StrStyle as field to ast::lit_strBenjamin Herr-2/+9
For the benefit of the pretty printer we want to keep track of how string literals in the ast were originally represented in the source code. This commit changes parser functions so they don't extract strings from the token stream without at least also returning what style of string literal it was. This is stored in the resulting ast node for string literals, obviously, for the package id in `extern mod = r"package id"` view items, for the inline asm in `asm!()` invocations. For `asm!()`'s other arguments or for `extern "Rust" fn()` items, I just the style of string, because it seemed disproportionally cumbersome to thread that information through the string processing that happens with those string literals, given the limited advantage raw string literals would provide in these positions. The other syntax extensions don't seem to store passed string literals in the ast, so they also discard the style of strings they parse.
2013-10-04Remove specific errors for very old obsolete syntaxBenjamin Herr-3/+1
Replaces existing tests for removed obsolete-syntax errors with tests for the resulting regular errors, adds a test for each of the removed parser errors to make sure that obsolete forms don't start working again, removes some obsolete/superfluous tests that were now failing. Deletes some amount of dead code in the parser, also includes some small changes to parser error messages to accomodate new tests.
2013-10-01remove the `float` typeDaniel Micay-1/+0
It is simply defined as `f64` across every platform right now. A use case hasn't been presented for a `float` type defined as the highest precision floating point type implemented in hardware on the platform. Performance-wise, using the smallest precision correct for the use case greatly saves on cache space and allows for fitting more numbers into SSE/AVX registers. If there was a use case, this could be implemented as simply a type alias or a struct thanks to `#[cfg(...)]`. Closes #6592 The mailing list thread, for reference: https://mail.mozilla.org/pipermail/rust-dev/2013-July/004632.html
2013-09-30syntax: Remove usage of fmt!Alex Crichton-2/+2
2013-09-11more helpful error message for ident comparison failureJohn Clements-1/+2
2013-09-11Properly encode/decode structural variants.SiegeLord-1/+1
2013-09-11Flag unsafe blocks from format! as compiler-generatedAlex Crichton-1/+7
2013-09-11Implement the notion of a "generated unsafe block"Alex Crichton-1/+1
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.
2013-09-10change type of ExprLoop and ExprBreak elts from ident->name.John Clements-2/+4
Lots of downstream changes in librustc, should be infinitesimally faster.
2013-09-10auto merge of #9088 : nikomatsakis/rust/issue-6304-AST-tree-not-DAG, ↵bors-0/+5
r=catamorphism Ensures that each AST node has a unique id. Fixes numerous bugs in macro expansion and deriving. Add two representative tests. Fixes #7971 Fixes #6304 Fixes #8367 Fixes #8754 Fixes #8852 Fixes #2543 Fixes #7654
2013-09-10Delay assignment of node ids until after expansion. Ensures that each AST nodeNiko Matsakis-0/+5
has a unique id. Fixes numerous bugs in macro expansion and deriving. Add two representative tests. Fixes #7971 Fixes #6304 Fixes #8367 Fixes #8754 Fixes #8852 Fixes #2543 Fixes #7654
2013-09-09undo cowardly hiding of eq-checkJohn Clements-13/+2
I've reversed my thinking on this restrictive definition of eq after two separate bugs were hidden by commenting it out; it's better to get ICEs than SIGSEGV's, any day. RE-ENABLING ICE MACHINE!
2013-09-09auto merge of #9005 : alexcrichton/rust/rusty-log, r=brsonbors-1/+3
Also redefine all of the standard logging macros to use more rust code instead of custom LLVM translation code. This makes them a bit easier to understand, but also more flexibile for future types of logging. Additionally, this commit removes the LogType language item in preparation for changing how logging is performed.
2013-09-08syntax: implement labelled breaks for `for`.Huon Wilson-1/+1
`for` desugars to `loop` so it is trivial to just desugar to `loop` while retaining any label.
2013-09-06commentsJohn Clements-0/+9
2013-09-06whitespace, reindentation, and comments onlyJohn Clements-1/+7
2013-09-06WIP: adding context to macrosJohn Clements-1/+1
2013-09-06add temporarily unused ctxt field to mac_invoc_ttJohn Clements-1/+1