summary refs log tree commit diff
path: root/src/rustc/middle/resolve.rs
AgeCommit message (Collapse)AuthorLines
2012-03-28Allow references to "self" within classesTim Chevalier-4/+10
Allow writing self.f within a class that has a field f. Currently, the compiler accepts either self.f or f. In a future commit I'll require writing self.f and not f. Not sure whether self.f() works if f is a method (making sure that works next).
2012-03-26Bulk-edit mutable -> mut.Graydon Hoare-26/+26
2012-03-26Disallow ret inside of block functionsMarijn Haverbeke-5/+6
Also adds proper checking for cont/break being inside a loop. Closes #1854 Issue #1619
2012-03-23Handle self correctly when translating classesTim Chevalier-1/+2
This change uses the same code for handling the "self" reference for classes as is already used for impls/ifaces. This allows removing the extra maybe_self_id argument (which was just for classes) to trans_closure that I added before. I also rewrote the translation for class ctors so that it doesn't generate new AST nodes (instead translating directly). Also changed visit so that it visits class ctors correctly with visit_fn, and changed typestate to not do return-checking when visiting a class ctor.
2012-03-23rustc: Redo region inference to be a bit less brokenPatrick Walton-0/+1
2012-03-23Revert resolve kludge that was working around #2049Marijn Haverbeke-12/+7
2012-03-23Clean up some confused shuffling of def_ids in resolve.rsMarijn Haverbeke-34/+31
2012-03-23Kludge in resolve to be able to land builtinsMarijn Haverbeke-7/+12
Something strange is happening to hash maps. I'm still investigating but want to get my snapshot built in the meantime. (Problem only happened on OS X.)
2012-03-21add mut decls to rustc and make them mandatoryNiko Matsakis-39/+40
2012-03-20Implement an initial version of placement new.Niko Matsakis-0/+3
2012-03-20Class methods WIPTim Chevalier-1/+3
In particular, use the ast::method type to represent a class method, and try to reuse as much iface code as possible. (This makes sense now since I'll be allowing polymorphic class methods.)
2012-03-20rustdoc: Run the entire resolve passBrian Anderson-11/+1
2012-03-20Fix caching bug in resolve, get rid of enumness kludgeMarijn Haverbeke-106/+55
Closes #1911
2012-03-16Classes WIPTim Chevalier-1/+1
Cross-crate metadata for classes works well enough that programs with classes in other crates compile successfully, but output wrong results. Checking in work so far to avoid merge hassles. (Tests are xfailed.)
2012-03-14std: Rename the hashmap constructors to conform to new standardsBrian Anderson-15/+14
Instead of using the new_ prefix just name them after their type
2012-03-13Overhaul constructor naming in libsBrian Anderson-2/+2
2012-03-12stdlib: Make list::find do what the docs say it does.Patrick Walton-2/+20
Talked on #rust about this change, got approval from graydon and brson. Will bring up tomorrow at meeting to verify.
2012-03-10Use loop instead of while(true) in libraries and compiler itselfTim Chevalier-9/+7
And remove spurious fails/unreachable() calls.
2012-03-09rustc: Add region def ids to the ASTPatrick Walton-0/+1
2012-03-09Revert "rustc: Create def IDs for region parameters"Patrick Walton-2/+1
This reverts commit 0d4cb759494f9589ba57c4f2c41f5a5737ab74e0.
2012-03-09rustc: Create def IDs for region parametersPatrick Walton-1/+2
2012-03-08Change util::unreachable to core::unreachableTim Chevalier-1/+1
Closes #1931
2012-03-08Explicitly store self_ids use for self locals in methodsMarijn Haverbeke-3/+3
This makes it possible to move them between crates without confusion, and to instantiate them at a point where the monomorphizing substitutions are known. Issue #1944
2012-03-06Track all exports in exp_mapMarijn Haverbeke-105/+89
This is needed because the reachability checker needs to be able to follow exports. Issue #1934
2012-03-05rustc: Use std::util::unreachableBrian Anderson-1/+1
2012-03-05rustc: Lower case error messagesBrian Anderson-4/+4
2012-03-05rustc: Remove some redundant text from error messagesBrian Anderson-2/+2
2012-03-04Translate simple classesTim Chevalier-11/+11
Programs using classes with fields only (no methods) compile and run, as long as nothing refers to a class in a different crate (todo). Also changed the AST representation of classes to have a separate record for constructor info (instead of inlining the fields in the item_class node), and fixed up spans and pretty-printing for classes.
2012-03-02Move src/comp to src/rustcGraydon Hoare-0/+2381