summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2014-02-01auto merge of #11974 : huonw/rust/no-at-vec, r=pcwaltonbors-727/+1015
This removes @[] from the parser as well as much of the handling of it (and `@str`) from the compiler as I can find. I've just rebased @pcwalton's (already reviewed) `@str` removal (and fixed the problems in a separate commit); the only new work is the trailing commits with my authorship. Closes #11967
2014-02-02rustc: update docs & propagate @[]/@str removal more.Huon Wilson-1/+1
Various functions can now be made specific to ~[], or just non-managed vectors.
2014-02-02syntax: remove the unused Vstore enum.Huon Wilson-22/+0
Seems to have been replaced by ExprVstore.
2014-02-02rustc: Remove the vstore handling of @str and @[].Huon Wilson-1/+1
2014-02-02syntax: remove the handling of @str and @[] from the parser completely.Huon Wilson-32/+9
2014-02-02syntax: add an obsolete syntax warning for @[].Huon Wilson-1/+9
2014-02-02syntax: convert LitBinary from @[u8] to Rc<~[u8]>.Huon Wilson-7/+6
2014-02-02Changes from the review of the @str PR.Huon Wilson-7/+0
2014-02-02Fix `@str` removal tests.Huon Wilson-1/+0
2014-02-01auto merge of #11944 : nathanielherman/rust/vec_opt, r=alexcrichtonbors-2/+2
Closes #11733
2014-02-02librustc: Remove `@str` from the languagePatrick Walton-8/+17
2014-02-02libsyntax: Remove `@str` from the internerPatrick Walton-56/+112
2014-02-02libsyntax: Remove an `@str` in pretty printingPatrick Walton-18/+21
2014-02-02libsyntax: Remove the `interner_get` function and all usesPatrick Walton-34/+13
2014-02-02libsyntax: Remove uses of `token::ident_to_str()`Patrick Walton-29/+14
2014-02-02libsyntax: Remove many uses of `token::ident_to_str`Patrick Walton-27/+49
2014-02-02libsyntax: Fix tests.Patrick Walton-49/+51
2014-02-02libsyntax: De-`@str` `MacroDef`Patrick Walton-3/+3
2014-02-02librustc: De-`@str` `NameAndSpan`Patrick Walton-24/+37
2014-02-02librustc: Fix merge fallout.Patrick Walton-68/+91
2014-02-02libsyntax: Remove `ident_to_str` from the parser, which was returningPatrick Walton-10/+8
`@str` values
2014-02-02libsyntax: De-`@str` `get_single_str_from_tts`Patrick Walton-2/+4
2014-02-02libsyntax: Remove all `@str` from the ASTPatrick Walton-28/+35
2014-02-02libsyntax: Make float literals not use `@str`Patrick Walton-12/+14
2014-02-02libsyntax: De-`@str` pathnamesPatrick Walton-39/+32
2014-02-02librustc: Stop using `@str` for source.Patrick Walton-75/+69
2014-02-02libsyntax: Remove the unnecessary `src` field from the lexerPatrick Walton-9/+6
2014-02-02libsyntax: De-`@str` `to_source`Patrick Walton-41/+42
2014-02-02libsyntax: De-`@str` literal strings in the ASTPatrick Walton-113/+219
2014-02-02libsyntax: Introduce an `InternedString` type to reduce `@str` in thePatrick Walton-79/+221
compiler and use it for attributes
2014-01-31Remove the obsolete handler for `impl A;`.Huon Wilson-19/+8
This is has been obsolete for quite a while now (including a release), so removing the special handling seems fine. (The error message is quite good still anyway.) Fixes #9580.
2014-01-31Fix minor doc typosVirgile Andreani-4/+4
2014-01-30Make mut_last return Option instead of failing on empty vector (and add a ↵Nathaniel Herman-2/+2
test for mut_last)
2014-01-30Implement default type parameters in generics.Eduard Burtescu-12/+57
2014-01-30auto merge of #11911 : kballard/rust/empty-functional-update, r=pcwaltonbors-13/+10
Fixes #8972
2014-01-30Remove Times traitBrendan Zabarauskas-5/+6
`Times::times` was always a second-class loop because it did not support the `break` and `continue` operations. Its playful appeal was then lost after `do` was disabled for closures. It's time to let this one go.
2014-01-29Allow empty functional updating of structsKevin Ballard-13/+10
Fixes #8972
2014-01-29Removing support for the do syntax from libsyntax and librustc.Scott Lawrence-141/+44
Fixes #10815.
2014-01-27auto merge of #11826 : huonw/rust/7621-deriving-errors, r=alexcrichtonbors-9/+7
cc #7621. See the commit message. I'm not sure if we should merge this now, or wait until we can write `Clone::clone(x)` which will directly solve the above issue with perfect error messages.
2014-01-28syntax: make deriving have slightly less cryptic error messages.Huon Wilson-9/+7
This unfortunately changes an error like error: mismatched types: expected `&&NotClone` but found `&NotClone` into error: type `NotClone` does not implement any method in scope named `clone`
2014-01-27Demote self to an (almost) regular argument and remove the env param.Eduard Burtescu-148/+135
Fixes #10667 and closes #10259.
2014-01-27auto merge of #11834 : huonw/rust/deriving-spans, r=alexcrichtonbors-137/+139
I'd forgotten to update them when I changed this a while ago; it now displays error messages linked to the struct/variant field, rather than the `#[deriving(Trait)]` line, for all traits. This also adds a very large number of autogenerated tests. I can easily remove/tone down that commit if necessary.
2014-01-27syntax: improve the spans of some #[deriving] traits.Huon Wilson-137/+138
This makes error messages about (e.g.) `#[deriving(Clone)] struct Foo { x: Type }` point at `x: Type` rather than `Clone` in the header (while still referring to the `#[deriving(Clone)]` in the expansion info).
2014-01-26auto merge of #11817 : salemtalha/rust/master, r=brsonbors-15/+15
Fixes Issue #11815
2014-01-26Removed all instances of XXX in preparation for relaxing of FIXME ruleSalem Talha-15/+15
2014-01-26Fix privacy fallout from previous changeAlex Crichton-1/+1
2014-01-26syntax: Fix a missing closing code tag in docs.Huon Wilson-0/+1
2014-01-25auto merge of #11803 : sfackler/rust/simple-mac, r=brsonbors-139/+70
Now that procedural macros can be implemented outside of the compiler, it's more important to have a reasonable API to work with. Here are the basic changes: * Rename SyntaxExpanderTTTrait to MacroExpander, SyntaxExpanderTT to BasicMacroExpander, etc. I think "procedural macro" is the right term for these now, right? The other option would be SynExtExpander or something like that. * Stop passing the SyntaxContext to extensions. This was only ever used by macro_rules, which doesn't even use it anymore. I can't think of a context in which an external extension would need it, and removal allows the API to be significantly simpler - no more SyntaxExpanderTTItemExpanderWithoutContext wrappers to worry about.
2014-01-25Simplify and rename macro APISteven Fackler-139/+70
Now that procedural macros can be implemented outside of the compiler, it's more important to have a reasonable API to work with. Here are the basic changes: * Rename SyntaxExpanderTTTrait to MacroExpander, SyntaxExpanderTT to BasicMacroExpander, etc. I think "procedural macro" is the right term for these now, right? The other option would be SynExtExpander or something like that. * Stop passing the SyntaxContext to extensions. This was only ever used by macro_rules, which doesn't even use it anymore. I can't think of a context in which an external extension would need it, and removal allows the API to be significantly simpler - no more SyntaxExpanderTTItemExpanderWithoutContext wrappers to worry about.
2014-01-25Uppercase numeric constantsChris Wong-4/+4
The following are renamed: * `min_value` => `MIN` * `max_value` => `MAX` * `bits` => `BITS` * `bytes` => `BYTES` Fixes #10010.