about summary refs log tree commit diff
path: root/src/comp/middle/resolve.rs
AgeCommit message (Collapse)AuthorLines
2011-08-27Convert rustc::syntax::ast_util to istrs. Issue #855Brian Anderson-1/+1
2011-08-27Convert pretty-printer to istrs. Issue #855Brian Anderson-1/+1
2011-08-27Convert the rest of rustc::middle to istrs. Issue #855Brian Anderson-48/+54
2011-08-27Remove ast::identistr. Issue #855Brian Anderson-3/+3
2011-08-27Convert ast::ident to istr. Issue #855Brian Anderson-28/+34
2011-08-27Convert std::map::new_str_hash to istrs. Issue #855Brian Anderson-12/+16
2011-08-22Move functions from syntax::ast to syntax::ast_utilBrian Anderson-9/+11
This leaves syntax::ast just defining the AST, which strikes me as somewhat nicer
2011-08-20ReformatBrian Anderson-96/+88
This changes the indexing syntax from .() to [], the vector syntax from ~[] to [] and the extension syntax from #fmt() to #fmt[]
2011-08-18Print tag names in type error messages. Closes #834.Michael Sullivan-2/+4
2011-08-18Remove or _-prefix all unused function argumentsMarijn Haverbeke-10/+12
This should make the compilation process a bit less noisy.
2011-08-17Refactor resolve_importBrian Anderson-42/+13
Issue #817
2011-08-17Refactor resolve_importBrian Anderson-43/+47
Issue #817
2011-08-17Remove unused case in resolveBrian Anderson-4/+0
Issue #817
2011-08-17Refactor import lookup in middle:resolveBrian Anderson-10/+14
Issue #817
2011-08-17Allow multiple imports in a single statementBrian Anderson-1/+43
Like so: import foo::{bar, baz}; Issue #817
2011-08-16Port the compiler to the expr foo::<T> syntax.Erick Tryzelaar-30/+30
2011-08-16Port the compiler to foo<T> decl syntax.Erick Tryzelaar-1/+1
2011-08-16Port the compiler to the typaram foo<T> syntax.Erick Tryzelaar-64/+64
2011-08-16Rename std::ivec to std::vecBrian Anderson-12/+12
2011-08-16Make let bindings' scope start at their definitionMarijn Haverbeke-14/+56
Also, allow let bindings in a block to shadow each other.
2011-08-15The wonky for...in... whitespace was bothering me. Sorry!Lindsey Kuper-20/+20
2011-08-15Add tuple patternsMarijn Haverbeke-24/+9
2011-08-12Rename str::connect_ivec to str::connectBrian Anderson-1/+1
2011-08-09Port the compiler to the ivec type [T] syntax.Erick Tryzelaar-16/+16
2011-08-03Make ast::pat_bindings an iteratorMarijn Haverbeke-10/+3
And use it to get rid of some repetetive code
2011-08-01Partially implement destructuring localsMarijn Haverbeke-61/+58
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-28Thread kinds into the type system. Don't quite activate yet, since it breaks ↵Graydon Hoare-2/+2
stdlib and snapshot isn't ready to compile modified stdlib.
2011-07-28Parse, store and print type parameter kind constraints.Graydon Hoare-4/+12
2011-07-27Reformat for new syntaxMarijn Haverbeke-873/+823
2011-07-27Add missing case for view_item_use in resolve.rsMarijn Haverbeke-16/+11
Closes #748
2011-07-26Resolve and typecheck alias-environment-capturing blocks.Michael Sullivan-8/+10
2011-07-26Resolve loop collection expressions in the right scopeMarijn Haverbeke-11/+15
Closes #745
2011-07-26Detect duplicate field names in record literals and typesMarijn Haverbeke-16/+33
Closes #746
2011-07-26Remove all uses of tuples from the compiler and stdlibMarijn Haverbeke-40/+44
2011-07-25Rename the block type to be blk also. Sorry.Michael Sullivan-4/+4
2011-07-22Start adding support for multiple variable declarations per stmtMarijn Haverbeke-6/+11
This adds parser support and most of the machinery for auto x = 10, y = 20; However, the above still goes wrong somewhere in typestate, causing the state checker to believe only the last variable in the list is initialized after the statement. Tim, if you have a moment, could you go over the changes to the tstate code in this patch and see where I'm going wrong? Multi-var-decls without the typestate extension Add a loop
2011-07-22Report unresolved names only once per functionMarijn Haverbeke-32/+52
Closes #708
2011-07-19Beginnings of support for constrained typesTim Chevalier-24/+13
Programs with constrained types now parse and typecheck, but typestate doesn't check them specially, so the one relevant test case so far is XFAILed. Also rewrote all of the constraint-related data structures in the process (again), for some reason. I got rid of a superfluous data structure in the context that was mapping front-end constraints to resolved constraints, instead handling constraints in the same way in which everything else gets resolved.
2011-07-15rustc: Remove a bunch of exterior vectorsPatrick Walton-5/+1
2011-07-13Make resolve and the typechecker check for a main fn of theTim Chevalier-1/+13
correct type This means if a non-library program leaves out the main program, the error gets caught earlier than link. Closes #626.
2011-07-13rustc: Remove exterior vectors from resolve againPatrick Walton-29/+26
This reverts commit 6390c43dc465b7c89eb542855bdfe12103ee330f.
2011-07-13Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.Graydon Hoare-3/+3
2011-07-13box patterns, expect for the trans partMarijn Haverbeke-0/+3
2011-07-12Revert "rustc: Remove exterior vectors from resolve"Patrick Walton-26/+29
This reverts commit 0ffe8c81c31f00e7a032d88d5397930fefbfc97f.
2011-07-12rustc: Remove exterior vectors from resolvePatrick Walton-29/+26
2011-07-12Make resolve check for type-variable name-shadowingTim Chevalier-5/+18
Capturing a type argument in the enclosing scope should be an error -- this commit implements that check in resolve, avoiding a potential assertion failure in trans. Closes #648.
2011-07-11rustc: Implement explicit global scope resolution via leading "::"; add a ↵Patrick Walton-18/+27
test case
2011-07-11Use some actual or-patterns in resolve.rsMarijn Haverbeke-70/+34
2011-07-11Implement record patternsMarijn Haverbeke-0/+12
Closes #469.
2011-07-11Move visit to newtype-style nominal typeMarijn Haverbeke-4/+4
This makes getting the function fields out of the visitor less cumbersome and more efficient (no take/drop).