summary refs log tree commit diff
path: root/src/libsyntax/parse
AgeCommit message (Collapse)AuthorLines
2013-03-22librustc: Remove `pure` from libsyntax and librustc.Patrick Walton-19/+19
2013-03-22auto merge of #5483 : pcwalton/rust/static-syntax, r=graydonbors-37/+40
r? @nikomatsakis
2013-03-22syntax: replace uses of old deriving attribute with new oneAndrew Paseltiner-6/+6
2013-03-21auto merge of #5480 : pcwalton/rust/at-const, r=pcwaltonbors-1/+14
r? @catamorphism
2013-03-21auto merge of #5479 : Kimundi/rust/str-dealloc, r=z0w0bors-1/+4
This makes the `trim` and `substr` functions return a slice instead of an `~str`, and removes the unnecessary `Trimmable` trait (`StrSlice` already contains the same functionality). Also moves the `ToStr` implementations for the three str types into the str module in anticipation of further untangling.
2013-03-21librustc: Replace the `&static` bound with `'static`Patrick Walton-37/+40
2013-03-21libsyntax: Remove `@const` from the languagePatrick Walton-1/+13
2013-03-21librustc: Forbid destructors from being attached to any structs that might ↵Patrick Walton-0/+1
contain non-Owned fields. r=nmatsakis
2013-03-21auto merge of #5407 : jbclements/rust/add-assert-eq-macro, r=jbclementsbors-13/+11
Adds an assert_eq! macro that asserts that its two arguments are equal. Error messages can therefore be somewhat more informative than a simple assert, because the error message includes "expected" and "given" values.
2013-03-21Un-renamed trim and substr functions.Marvin Löbel-6/+6
2013-03-21Switched over substr and trim functions in str to be non-allocating, ↵Marvin Löbel-5/+8
temporary renamed them to better track use-sites
2013-03-21back-renamed slice_DBG_BRWD, slice_V_DBG_BRWD -> slice, slice_DBG_UNIQ -> ↵Marvin Löbel-6/+6
slice_unique
2013-03-21renamed str::view -> slice_DBG_BRWDMarvin Löbel-7/+7
renamed str::slice -> slice_DBG_UNIQ changed vec slice method -> to_owned() renamed vec view method -> slice_V_DBG_BRWD
2013-03-20change some uses of fail_unless to assert_eqJohn Clements-13/+11
2013-03-20libsyntax: Never use `::<>` in the type grammarPatrick Walton-2/+4
2013-03-20auto merge of #5443 : alexcrichton/rust/less-bad-copy, r=catamorphismbors-8/+9
Removes a lot of instances of `/*bad*/ copy` throughout libsyntax/librustc. On the plus side, this shaves about 2s off of the runtime when compiling `librustc` with optimizations. Ideally I would have run a profiler to figure out which copies are the most critical to remove, but in reality there was a liberal amount of `git grep`s along with some spot checking and removing the easy ones.
2013-03-19auto merge of #5442 : pcwalton/rust/extern-block-restriction, r=pcwaltonbors-38/+76
r? @graydon
2013-03-20syntax: Removing some bad copiesAlex Crichton-8/+9
2013-03-19libsyntax: Forbid `use` (and most other things) within `extern { ... }` blocksPatrick Walton-32/+54
2013-03-19libsyntax: Accept the new `[T, ..N]` style for vec.Patrick Walton-3/+9
2013-03-19libsyntax: Accept `static` instead of `const` for globalsPatrick Walton-4/+14
2013-03-19auto merge of #5426 : nikomatsakis/rust/issue-4846-lifetimes-in-expl-self, ↵bors-1/+62
r=pcwalton (this will be needed for snapshotting at some point) r? @pcwalton
2013-03-19auto merge of #5433 : lucab/rust/lucab/cfgspec, r=graydonbors-0/+16
All current meta items types (word, name-value, list) are now properly parsed by rustc --cfg command line. Fixes #2399
2013-03-19Make driver::driver::parse_cfgspecs parse any variety of meta_itemLuca Bruno-0/+16
All current meta items types (word, name-value, list) are now properly parsed by rustc --cfg command line. Fixes #2399 Signed-off-by: Luca Bruno <lucab@debian.org>
2013-03-18Allow constant expressions in [Type * n].Luqman Aden-17/+4
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-7/+12
For bootstrapping purposes, this commit does not remove all uses of the keyword "pure" -- doing so would cause the compiler to no longer bootstrap due to some syntax extensions ("deriving" in particular). Instead, it makes the compiler ignore "pure". Post-snapshot, we can remove "pure" from the language. There are quite a few (~100) borrow check errors that were essentially all the result of mutable fields or partial borrows of `@mut`. Per discussions with Niko I think we want to allow partial borrows of `@mut` but detect obvious footguns. We should also improve the error message when `@mut` is erroneously reborrowed.
2013-03-18libsyntax: Stop parsing old lifetimes, except for the ones on data type ↵Patrick Walton-0/+11
declarations.
2013-03-18librustc: Convert all uses of old lifetime notation to new lifetime ↵Patrick Walton-1/+1
notation. rs=delifetiming
2013-03-18Make &self permit explicit lifetimes, but don't really use themNiko Matsakis-1/+62
(this will be needed for snapshotting at some point).
2013-03-15Update test case to conform to new restrictions on castingJohn Clements-3/+2
2013-03-15Test case fixup (old one tested the old bad behavior).John Clements-12/+12
2013-03-13libsyntax: Remove a use of deprecated Encodable from libsyntax. rs=burningtreePatrick Walton-1/+1
2013-03-13test: Fix tests. rs=testsPatrick Walton-1/+1
2013-03-13librustc: Don't require the "static" keyword to define a static methodPatrick Walton-10/+10
2013-03-13librustc: Remove implicit self from the language, except for old-style drop ↵Patrick Walton-1/+15
blocks.
2013-03-13librustc: Remove overloaded operator autoderef.Patrick Walton-1/+1
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-34/+34
2013-03-13Remove `++` mode from the compiler (it is parsed as `+` mode)Niko Matsakis-3/+12
and obsolete `-` mode altogether (it *was* parsed as `+` mode).
2013-03-13auto merge of #5293 : brson/rust/logging, r=brsonbors-4/+4
r? @graydon This removes `log` from the language. Because we can't quite implement it as a syntax extension (probably need globals at the least) it simply renames the keyword to `__log` and hides it behind macros. After this the only way to log is with `debug!`, `info!`, etc. I figure that if there is demand for `log!` we can add it back later. I am not sure that we ever agreed on this course of action, though I *think* there is consensus that `log` shouldn't be a statement.
2013-03-12Stop parsing __asm__.Luqman Aden-9/+0
2013-03-12Parse inline assembly.Luqman Aden-1/+10
2013-03-11Remove the log keyword (by renaming it to __log)Brian Anderson-2/+2
We can't quite remove logging from the language, but this hides the keyword.
2013-03-11Remove uses of logBrian Anderson-2/+2
2013-03-11libsyntax: Stop parsing newtype enumsPatrick Walton-10/+9
2013-03-11libsyntax: Remove newtype enums from libsyntax. rs=deenumPatrick Walton-4/+2
2013-03-11libsyntax: Stop parsing bare functions in preparation for switching them overPatrick Walton-1/+16
2013-03-11librustc: Replace all uses of `fn()` with `&fn()`. rs=defunPatrick Walton-10/+10
2013-03-11Implement vector destructuring from tailSeo Sanghyeon-15/+25
2013-03-09Remove @ast::Region and replace with @ast::Lifetime.Niko Matsakis-91/+80
Modify pretty-printer to emit lifetimes and fix a few minor parser bugs that this uncovered.
2013-03-08Fix dvec-related fallout in testsAlex Crichton-3/+3