summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2012-07-29Rewrite bitv to use classes and optimize its representationTim Chevalier-2/+2
Rewrote bitv as a class that uses a 32-bit int as its representation for bit vectors of 32 bits or less, and a vector (the old representation) otherwise. I didn't benchmark very much, but a bit of informal benchmarking suggested this is a win. Closes #2341
2012-07-27rustc: Use coherence for operator overloading.Patrick Walton-18/+70
The only use of the old-style impls is now placement new.
2012-07-27Kill off another couple uses of the term 'mtcs'.Graydon Hoare-2/+2
2012-07-27early => earley. Oops.Graydon Hoare-1/+1
2012-07-27Make macro-system type and constructor names more uniform; more comments.Graydon Hoare-195/+231
2012-07-27Start killing off obsolete/unused quoters, and fix long lines.Graydon Hoare-76/+9
2012-07-27Comments in the new macro system, reflecting conversation with pauls.Graydon Hoare-6/+125
2012-07-27Correctly forbid upvars in nested impls, traits and classesTim Chevalier-1/+3
Previously, resolve was allowing impls, traits or classes that were nested within a fn to refer to upvars, as well as referring to type parameters bound by the fn. Fixing this required adding a new kind of def: def_typaram_binder, which can refer to any of an impl, trait or class that has bound ty params. resolve uses this to enforce that methods can refer to their parent item's type parameters, but not to outer items' type parameters; other stages ignore it. I also made sure that impl, trait and class methods get checked inside a MethodRibKind thing so as to forbid upvars, and changed the definition of MethodRibKind so that its second argument is an optional node_id (so that required trait method signatures can be checked with a MethodRibKind as well).
2012-07-26Nomenclature fixes in the lint checker. Fewer double-negatives.Graydon Hoare-0/+5
New style is allow(foo), warn(foo), deny(foo) and forbid(foo), mirrored by -A foo, -W foo, -D foo and -F foo on command line. These replace -W no-foo, -W foo, -W err-foo, respectively. Forbid is new, and means "deny, and you can't override it".
2012-07-26diagnostic: only print color if output is for the screenDamian Gryski-2/+4
2012-07-26Merge branch 'incoming' of github.com:mozilla/rustPaul Stansifer-4/+2
2012-07-26rustc: Fix cross-crate max/min-class-style constructorsPatrick Walton-2/+2
2012-07-26Make parsing about 0.3 seconds faster.Eric Holk-13/+14
2012-07-26Add #[inline(never)], and also fixed inlining on vec::pushEric Holk-1/+5
2012-07-26Comments Only: Remove outdated FIXMEs. Fixes #2886.Eric Holk-2/+0
2012-07-26Change `#macro` to `macro_rules!` in some cases.Paul Stansifer-38/+29
2012-07-26Allow old-style syntax extensions to be called with new syntax.Paul Stansifer-0/+61
2012-07-26Make parsing about 0.3 seconds faster.Eric Holk-13/+14
2012-07-25Add #[inline(never)], and also fixed inlining on vec::pushEric Holk-1/+5
2012-07-25Polymorphic protocols work well enough to do MapReduce.Eric Holk-6/+8
I did some horrible things with type variable naming here. It should do the right thing in most cases, but we'll need to go through and make it correct someday.
2012-07-25Bounded protocols work well enough to compile core, but map reduce has too ↵Eric Holk-15/+37
many type parameters, so we have to get fancier.
2012-07-25Thread spans through the pipe compiler. They aren't perfect, but they make ↵Eric Holk-70/+90
debugging far easier than core.rc:0:0. Changed the is_bounded check, so we fail compiling core right now due to not supporting type parameters.
2012-07-25Compiled a bounded version of pingpong.Eric Holk-43/+244
There are some failures in the other pipe tests, but these seem to just be a matter of generalizing the library code. Updating pipes library so all tests pass again
2012-07-25Generate buffer type for bounded protocolsEric Holk-0/+31
2012-07-25Refactor the bounded pingpong example to avoid needing to generate unsafe code.Eric Holk-19/+30
Took some steps towards bounded codegen.
2012-07-25Refactoring pipes to allow implementing bounded protocols.Eric Holk-2/+5
2012-07-24rustc: Parse new-style impl declarationsPatrick Walton-34/+69
2012-07-24rustc: Don't require that structs have constructorsPatrick Walton-28/+48
2012-07-24Bugfix: enable transcription to deal with zero-repetition cases.Paul Stansifer-9/+8
2012-07-24Improve an error message a little.Paul Stansifer-3/+5
2012-07-24Bugfix: make the parser handle the case where zero repetitions occur, by ↵Paul Stansifer-15/+35
handling parse results on the basis of what names the matcher expects to bind, not on what names are actually bound.
2012-07-23syntax: Expect the closing brace after struct literalsPatrick Walton-0/+1
2012-07-23rustc: Max/min classes: Add struct literal syntaxPatrick Walton-39/+84
2012-07-23syntax: Remove reference to typestate in a commentPatrick Walton-1/+1
2012-07-19Revert "accept naked exprs with commas in pattern arms" due to ↵Patrick Walton-42/+6
pretty-printing failures This reverts commit f712b2d76b1077a2241916cc3269aa1d83ce3088. In alt arms, the parser needs to do a little lookahead to determine whether it's looking at a record literal or a block. Also there are some indentation issues in the expected source.
2012-07-18accept naked exprs with commas in pattern armsNiko Matsakis-6/+42
pretty printing will use them, but indentation is slightly off if the expr is long
2012-07-18Remove non-existent importsTim Chevalier-3/+3
2012-07-18syntax: Parse multiple trait refs in a single implementationPatrick Walton-18/+34
2012-07-18prevent regions from escaping in ifaces; remove &r.T syntaxNiko Matsakis-3/+2
2012-07-17Added liveness analysis for protocols, and removed warnings about empty states.Eric Holk-0/+115
2012-07-17Don't ICE when protocol steps to invalid mesasge.Eric Holk-21/+22
2012-07-17rustc: Fix coherence errors in the buildPatrick Walton-27/+26
2012-07-17rustc: Implement and enforce instance coherencePatrick Walton-40/+213
2012-07-17Support attributes on class ctors and dtorsTim Chevalier-47/+68
Closes #2660
2012-07-17Error checking for protocols. We'll need spans though.Eric Holk-141/+251
2012-07-16introduce an owned kind for data that contains no borrowed ptrsNiko Matsakis-9/+16
2012-07-16Add support for terminal states (issue #2862)Eric Holk-44/+111
2012-07-14remove typestate from code, tests, and docsNiko Matsakis-423/+29
2012-07-14Get rid of ast::ty_vstore, which was only used for fixed length.Michael Sullivan-39/+21
2012-07-14Make the new world order normative. Closes #2908.Michael Sullivan-9/+0