summary refs log tree commit diff
path: root/src/rustc/middle/resolve.rs
AgeCommit message (Collapse)AuthorLines
2012-07-09Switch 'cont' to 'again' everywhere. Close #2229.Graydon Hoare-1/+1
2012-07-06Plumbing and parsing for item-position macros.Eric Holk-0/+4
2012-07-05Change 'iface' to 'trait' internally; parse `trait` as `iface` synonymLindsey Kuper-18/+18
2012-07-03Switch 'native' to 'extern' (or 'foreign' in some descriptions)Graydon Hoare-2/+2
2012-07-01Convert to new closure syntaxBrian Anderson-130/+130
2012-06-30Eliminate usages of old sugared call syntaxBrian Anderson-28/+28
2012-06-29Switch the compiler over to using ~[] notation instead of []/~. Closes #2759.Michael Sullivan-59/+59
2012-06-28Replaced almost all vector+ in rustc (#2719)Eric Holk-10/+19
Didn't update shape because the changes were causing segfaults.
2012-06-26Change 'native' and 'crust' to 'extern'.Graydon Hoare-29/+31
This comes with a terminology change. All linkage-symbols are 'extern' now, including rust syms in other crates. Some extern ABIs are merely "foreign". The term "native" is retired, not clear/useful. What was "crust" is now "extern" applied to a _definition_. This is a bit of an overloading, but should be unambiguous: it means that the definition should be made available to some non-rust ABI.
2012-06-26Getting rid of lots more vector +=. (issue #2719)Eric Holk-14/+15
2012-06-25Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725.Michael Sullivan-73/+75
2012-06-24Remove resourcesTim Chevalier-17/+3
Also fixed shapes for classes with dtors, as well as handling offsets for classes with dtors correctly in take glue. Closes #2485
2012-06-21Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.Graydon Hoare-3/+3
2012-06-20Fix resolve bug that made nested classes not workTim Chevalier-17/+16
It wasn't possible to refer to the constructor for a class nested inside an item from the class's outer scope. Fixed.
2012-06-20Remove bind. Issue #2189Brian Anderson-20/+23
2012-06-13Box AST identsBrian Anderson-48/+49
2012-06-08Get rid of little-used logging fns in util::common. Closes #2553.Lindsey Kuper-1/+1
Also got rid of a bunch of commented-out logging statements and generally cleaned up the logging situation, mostly in typestate.
2012-06-07Annotate FIXMEs in resolveTim Chevalier-7/+5
And fix one FIXME (use fk_ctor to visit a constructor)
2012-06-06move resolve to dvec, remove unnecessary mut annotationsNiko Matsakis-13/+13
2012-06-02make vec fns/methods take imm slices.Niko Matsakis-1/+2
this also repairs the unsoundness in typing of unpack_slice, which was silently converting a const ptr to an imm one.
2012-05-29Resolve bounds in iface typesTim Chevalier-3/+5
Closes #2311
2012-05-25Get rid of many implicit copies as a preliminary to Issue #2448.Michael Sullivan-2/+2
2012-05-23shuffle error messages in borrowck, and prevent it from spewing too manyNiko Matsakis-2/+2
also, fix a few minor issues it complains about
2012-05-23rustc: Move new_def_hash to ast_utilBrian Anderson-3/+3
2012-05-21rustc: Move ast_map to the syntax crateBrian Anderson-1/+1
2012-05-21rustc: Move walk_pat to ast_utilBrian Anderson-1/+1
This will allow ast_map to move to the syntax crate
2012-05-21rustc: Move path_to_ident to ast_utilBrian Anderson-1/+2
2012-05-21change list so that it must be used in a purely boxed fashionNiko Matsakis-63/+65
The old way was inconsistent---the head was unboxed but the tail was boxed. This resulted in numerous needless copies and also made the borrow check unhappy, because the head tended to be stored in mutable memory.
2012-05-21detect and report shadows in nested bindingsNiko Matsakis-20/+21
2012-05-18make more code use dvecNiko Matsakis-6/+6
2012-05-18avoid modifying the variable we are alting overNiko Matsakis-4/+4
2012-05-14First cut at dtors for classesTim Chevalier-9/+19
Classes with dtors should compile now. Haven't yet tested whether they actually run correctly. Beginnings of support for #2295, though that won't be done until there's more test cases and resources are removed.
2012-05-08Start parsing pub/priv on regular itemsMarijn Haverbeke-0/+1
Issue #1893
2012-05-07In resolve, visit the path in an iface refTim Chevalier-9/+19
Necessary to resolve any type arguments in a ref to a parameterized iface. This meant that, for example: class A implements B<int> { ... didn't work before, because the "int" in B's argument wasn't getting visited, and thus wasn't getting resolved. Now it works. Partially addresses Issue #2288, but I also want to check that class ty params can appear as the type arguments to ifaces (for example, class A<T> implements B<T> {... should work.)
2012-05-07make it illegal to implicitly capture mutable variablesNiko Matsakis-5/+7
this is the final part of #1273
2012-05-04new cap clause syntaxNiko Matsakis-5/+6
2012-05-03Removed unused import of std::dequeTim Chevalier-1/+1
2012-05-02Error message reformatting, close #2309.Graydon Hoare-2/+2
2012-05-02Encode the ifaces a class implements in metadataTim Chevalier-2/+8
This lets you use class A as if it had type B if A implements B, and A and B are in different crates from your own. Closes #2285
2012-05-01Remove code that was accidentally committedTim Chevalier-4/+1
This was a workaround for the bug that was actually fixed in 164039e86720b5e6c06ca2320700d979f60d69d6
2012-05-01Don't re-export a glob-imported ID when the same ID is defined withinTim Chevalier-3/+12
a module See the test case I added (issue-2316-c) for a concrete example. issue-2316 also contains the originally reported test case. resolve was using bitwise or instead of logical or when checking exports, resulting in excessively eager evaluation. A one-line fix that took six hours to isolate ;-)
2012-04-25lots of work to make iface/impls parameterized by regionsNiko Matsakis-24/+23
- paths can now take region parameters, replacing the dirty hack I was doing before of abusing vstores. vstores are now a bit of a hack though. - fix various small bugs: - we never checked that iface types were compatible when casting to an iface with `as` - we allowed nonsense like int<int> - and more! (actually that may be it)
2012-04-25Rewrite exhaustiveness checkerMarijn Haverbeke-1/+1
Issue #2111
2012-04-23Allow classes to be cast to ifaces that are in the same crateTim Chevalier-10/+39
I had to xfail one existing test case (class-implements-int) because, I think, of the same bug described in #2272.
2012-04-23Move map iface over to more `for`-friendly iteration methodsMarijn Haverbeke-6/+6
2012-04-23Simplify representation of ast::pathMarijn Haverbeke-17/+15
2012-04-23Misc code cleanups using list::each for list iterationMarijn Haverbeke-32/+13
2012-04-19make nominal types optionally parameterized by a self region.Niko Matsakis-18/+18
Issue #2201.
2012-04-19Disallow rebinding / matching against consts in altsTim Chevalier-7/+11
As per Issue #1193. Closes #1193. I had to rename a few variables ("info" and "epsilon") to avoid clashing with in-scope constants, which is responsible for all the changes other than resolve and issue-1193.rs.
2012-04-13Annotate FIXMEs in syntax::ast and syntax::ast_utilTim Chevalier-8/+9
The main non-comment change was to change simple_path to path, as per a FIXME in ast.