about summary refs log tree commit diff
path: root/src/comp/syntax/visit.rs
AgeCommit message (Collapse)AuthorLines
2011-12-16Make polymorphic impl methods workMarijn Haverbeke-6/+6
Something will still have to be done to the AST to make it possible to say `x.foo::<int>()`, since currently field access never allows type parameters. Issue #1227
2011-12-16Change syntax for implMarijn Haverbeke-2/+1
Move the name of the bundle to the front, allow type parameters (not handled yet), and add a 'for' keyword: impl utils for int { fn str() -> str { int::str(self) } fn times(f: block()) { ... } }
2011-12-16Make uses of self in impls compileMarijn Haverbeke-1/+0
Get rid of expr_self_call, introduces def_self. `self` is now, syntactically, simply a variable. A method implicitly brings a `self` binding into scope. Issue #1227
2011-12-16Parse and resolve implementations.Marijn Haverbeke-3/+16
Issue #1227
2011-12-14first attempt, not happy with itNiko Matsakis-1/+2
2011-12-13Copy first batch of material from libstd to libcore.Graydon Hoare-2/+2
2011-12-08Allow binding of nested patternsMarijn Haverbeke-2/+3
See src/test/run-pass/nested-patterns.rs for some examples. The syntax is boundvar@subpattern Which will match the subpattern as usual, but also bind boundvar to the whole matched value. Closes #838
2011-12-07Remove stmt_crate_directive, it's vestigial and confusing.Graydon Hoare-1/+0
2011-12-07Change literal representation to not truncateMarijn Haverbeke-14/+1
Also shuffles around the organization of numeric literals and types, separating by int/uint/float instead of machine-vs-non-machine types. This simplifies some code. Closes #974 Closes #1252
2011-11-30Box ast::path valuesMarijn Haverbeke-7/+7
It seems inefficient to copy them around. Let's measure whether that's actually > the case
2011-11-24rustc: Add a path attribute for crate directivesHaitao Li-2/+2
The path information was an optional "filename" component of crate directive AST. It is now replaced by an attribute with metadata named "path". With this commit, a directive mod foo = "foo.rs"; should be written as: #[path = "foo.rs"] mod foo; Closes issue #906.
2011-11-23Allow import directives in any blockMarijn Haverbeke-1/+2
Closes #49
2011-11-23Remove last traces of auth keywordMarijn Haverbeke-1/+0
The reference now has an empty hole where the auth keyword used to be. Changing the keyword table seems to require manually sorting the keywords and putting them back into some kind of arcane interleaved order. I'll open an issue to actually fix this. Closes #1211
2011-11-22Make ast::visit only descend into types when necessaryMarijn Haverbeke-3/+12
If visit_ty is not overridden, it uses a stub function which does not descend into types. Closes #1204
2011-11-17remove compile-command from local variable blocksNiko Matsakis-1/+0
2011-11-16rustc: Use link_name attribute for native functionHaitao Li-1/+1
Fixes issue #906
2011-10-21Change the way block calls are parsed, mark them as block-calls.Marijn Haverbeke-1/+1
This makes it possible to omit the semicolon after the block, and will cause the pretty-printer to properly print such calls (if pretty-printing of blocks wasn't so broken). Block calls (with the block outside of the parentheses) can now only occur at statement level, and their value can not be used. When calling a block-style function that returns a useful value, the block must be put insde the parentheses. Issue #1054
2011-10-21Drop support for iter, put, and for-eachMarijn Haverbeke-2/+1
Closes #1056
2011-10-20Make fn denote a bare function. Convert fn to fn@ as neededBrian Anderson-56/+56
2011-10-07Parse and typecheck by-value and by-ref arg specsMarijn Haverbeke-14/+14
Add sprinkle && throughout the compiler to make it typecheck again. Issue #1008
2011-09-23Add missing case for pat_uniq to syntax::visitBrian Anderson-0/+1
Issue #409
2011-09-20Represent unique creation as a unop in the AST instead of its own exprBrian Anderson-1/+0
Like the box unop. Issue #409
2011-09-20Parse unique box typesBrian Anderson-0/+1
Issue #409
2011-09-15Add representation for by-ref let bindingsMarijn Haverbeke-1/+1
Issue #918
2011-09-12Factor imports mindlessly.Graydon Hoare-2/+1
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-83/+83
Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit.
2011-09-02Rename ty_istr to ty_str. Issue #855Brian Anderson-1/+1
2011-09-01Remove lots of estr code from rustc. Issue #855Brian Anderson-1/+0
2011-08-30Stop relying on klunky hack in alias.rsMarijn Haverbeke-1/+1
It assumed node_ids increased monotonically for locals, but macros make this no longer the case, and it was a dubious assumption anyway. It now numbers locals itself and uses that to determine which precede which.
2011-08-22Implement pattern guardsMarijn Haverbeke-0/+1
The syntax is alt x { mypat where mycond { ... } } The condition may refer to any of the variables bound by the pattern. When a guard fails, pattern-matching continues with the next pattern. Closes #857
2011-08-20ReformatBrian Anderson-44/+37
This changes the indexing syntax from .() to [], the vector syntax from ~[] to [] and the extension syntax from #fmt() to #fmt[]
2011-08-18Change ast::ty_ivec, ty::ty_ivec to ty_vecBrian Anderson-1/+1
2011-08-18Remove ast::ty_vecBrian Anderson-1/+0
2011-08-18Remove seq_kind from ast::expr_vecBrian Anderson-1/+1
2011-08-18Remove or _-prefix all unused function argumentsMarijn Haverbeke-21/+21
This should make the compilation process a bit less noisy.
2011-08-16Port the compiler to the expr foo::<T> syntax.Erick Tryzelaar-14/+14
2011-08-16Port the compiler to foo<T> decl syntax.Erick Tryzelaar-23/+23
2011-08-16Port the compiler to the typaram foo<T> syntax.Erick Tryzelaar-53/+53
2011-08-16Removing tasks, ports and chans from the compiler.Eric Holk-8/+0
2011-08-15The wonky for...in... whitespace was bothering me. Sorry!Lindsey Kuper-31/+31
2011-08-15Add operator 'copy', translates as fall-through.Graydon Hoare-0/+1
2011-08-15Rename a field (so that macros can mention it).Paul Stansifer-1/+1
2011-08-15rustc: Parse and typecheck unique pointersPatrick Walton-0/+1
2011-08-15Add tuple patternsMarijn Haverbeke-0/+3
2011-08-15Tuple fields are immutableMarijn Haverbeke-3/+3
2011-08-15Tuple types back, not constructable yetMarijn Haverbeke-0/+6
2011-08-10Introduce a ty_infer ast node and use it instead of option::t[ty].Michael Sullivan-6/+3
This actually basically makes things worse, since we get less nice type system guarentees but it will make doing type inferred blocks a fair deal less painful. I'm not /really/ happy about this...
2011-08-09Port the compiler to the ivec type [T] syntax.Erick Tryzelaar-7/+7
2011-08-01Partially implement destructuring localsMarijn Haverbeke-0/+1
You can now say let {bcx, val} = some_result_returner(); Similar for loop variables. Assigning to such variables is not safe yet. Function arguments also remain a TODO.
2011-07-29Remove support for obj dtorsMarijn Haverbeke-7/+0