summary refs log tree commit diff
path: root/src/rustc/middle/tstate
AgeCommit message (Collapse)AuthorLines
2012-07-06For #2229, recognize 'again' in place of 'cont', final change pending snapshot.Graydon Hoare-2/+2
2012-07-06Plumbing and parsing for item-position macros.Eric Holk-0/+1
2012-07-05Change 'iface' to 'trait' internally; parse `trait` as `iface` synonymLindsey Kuper-1/+1
2012-07-03Revert "Remove rule requiring non-nil block-style statements to be ↵Brian Anderson-4/+4
semi-terminated" This reverts commit 0f5eaef5fb2443acd3ea67250c953839c3d04d38.
2012-07-03Remove rule requiring non-nil block-style statements to be semi-terminatedBrian Anderson-4/+4
This is a subtle rule that no longer seems to be required.
2012-07-01Convert to new closure syntaxBrian Anderson-75/+76
2012-06-30Eliminate usages of old sugared call syntaxBrian Anderson-12/+12
2012-06-29Switch the compiler over to using ~[] notation instead of []/~. Closes #2759.Michael Sullivan-107/+107
2012-06-28Replaced almost all vector+ in rustc (#2719)Eric Holk-29/+30
Didn't update shape because the changes were causing segfaults.
2012-06-26Change 'native' and 'crust' to 'extern'.Graydon Hoare-3/+3
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-20/+24
2012-06-25Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725.Michael Sullivan-123/+129
2012-06-24Remove resourcesTim Chevalier-8/+0
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-16/+14
2012-06-21Move vector addition out of trans and into libcore.Eric Holk-3/+5
2012-06-20Remove bind. Issue #2189Brian Anderson-47/+20
2012-06-18Add 'do' expressionsBrian Anderson-2/+3
2012-06-13Box AST identsBrian Anderson-8/+8
2012-06-08Get rid of little-used logging fns in util::common. Closes #2553.Lindsey Kuper-87/+23
Also got rid of a bunch of commented-out logging statements and generally cleaned up the logging situation, mostly in typestate.
2012-06-07Comments only: annotate remainder of FIXMEs in typestateTim Chevalier-8/+9
2012-06-07Start annotating FIXMEs in typestate; also some minor refactoringTim Chevalier-51/+19
2012-06-06Merge remote-tracking branch 'mozilla/incoming'Niko Matsakis-3/+2
Conflicts: src/rustc/middle/tstate/auxiliary.rs
2012-06-06move tstate to dvecNiko Matsakis-26/+26
2012-06-06Revert "Revert "Merge pull request #2516 from mozilla/incoming" due to failures"Tim Chevalier-3/+2
This reverts commit 9fae95860de510f6874810cf43efb83f101246ef.
2012-05-31rustc: Use fewer boxes in typestateBrian Anderson-12/+12
2012-05-30rustc: Do less work still in typestateBrian Anderson-46/+52
2012-05-30rustc: Don't typestate fns that don't have constrained function callsBrian Anderson-16/+52
2012-05-29Handle poststates of breaking loops correctly in typestateTim Chevalier-24/+10
The poststate should be one where all predicates are assumed false, rather than the unchanged prestate. Closes #2374
2012-05-24remove dead assignmentsNiko Matsakis-28/+4
2012-05-24remove initedness checking from typestate, as best I couldNiko Matsakis-492/+89
2012-05-23rustc: Move new_def_hash to ast_utilBrian Anderson-2/+1
2012-05-18rustc: Don't copy vecs in seq_preconds. Huge perf win on some testsBrian Anderson-5/+6
Compile time for the included test goes from 5min to 18s.
2012-05-18rustc: Don't recurse in seq_preconds. Consumes too much stackBrian Anderson-15/+18
2012-05-15Remove `be` keyword.Lindsey Kuper-17/+6
Closes #2227.
2012-05-14First cut at dtors for classesTim Chevalier-1/+1
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-10Remove `do { ... } while ...` from the language.Paul Stansifer-53/+0
2012-05-07make it illegal to implicitly capture mutable variablesNiko Matsakis-3/+3
this is the final part of #1273
2012-05-04new cap clause syntaxNiko Matsakis-15/+16
2012-04-25lots of work to make iface/impls parameterized by regionsNiko Matsakis-2/+2
- 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-2/+0
Issue #2111
2012-04-24Workarounds for bug #2280: add some temporaries for borrowing.Graydon Hoare-1/+4
2012-04-23Move map iface over to more `for`-friendly iteration methodsMarijn Haverbeke-2/+2
2012-04-23Simplify representation of ast::pathMarijn Haverbeke-14/+7
2012-04-20Print out return type correctly in typestate error messageTim Chevalier-6/+8
In the "not all paths return" error message, typestate was printing the AST type from the fn decl, not the ty::t type. This ended in tears when the AST return type was "ty_infer". Now it looks up the function node ID's type and uses util::ppaux::ty_to_str instead. Closes #2163.
2012-04-19make nominal types optionally parameterized by a self region.Niko Matsakis-3/+3
Issue #2201.
2012-04-15Forbid deinitializing upvars in typestateTim Chevalier-15/+41
Closes #1965.
2012-04-11Allow classes to implement ifacesTim Chevalier-2/+2
Introduce syntax like: iface animal { ... } class cat implements animal { ... } to allow classes to implement ifaces. Casting classes to ifaces is *not* yet supported. ifaces that a class implements are not yet included in metadata. The syntax is subject to change, and may go away completely if we decide to use duck typing to relate classes with ifaces (see http://smallcultfollowing.com/babysteps/blog/2012/04/10/declared-vs-duckish-typing/ )
2012-04-11Add vstore/evec/estr to compiler.Graydon Hoare-1/+14
2012-04-10Generic classes and generic class methods work cross-crateTim Chevalier-1/+1
Classes can have ty params now. So can methods inside classes. That was probably true before, but now it should still work if you call methods in a class that's defined in a different crate. Yay!
2012-04-06Re-rename option functionsTim Chevalier-3/+3
get_with_default (nee from_maybe) => get_default with_option (nee maybe) => map_default with_option_do (nee may) => iter As per discussion of 21be1379d561b6679a8a2ea47dce88f948c5acca