summary refs log tree commit diff
path: root/src/libsyntax/ext
AgeCommit message (Collapse)AuthorLines
2015-11-26Add syntax support for attributes on expressions and all syntaxMarvin Löbel-10/+37
nodes in statement position. Extended #[cfg] folder to allow removal of statements, and of expressions in optional positions like expression lists and trailing block expressions. Extended lint checker to recognize lint levels on expressions and locals.
2015-11-26Add '!' to macro name suggestion, use fileline_help instead of span_helpFlorian Hartwig-1/+1
2015-11-26Add suggestion of similar macro names to `macro undefined` error messageFlorian Hartwig-0/+18
2015-11-25Fix "Cannot fill in a NT" ICEJonas Schievink-12/+23
2015-11-25Auto merge of #30011 - jonas-schievink:macro-context, r=nrcbors-10/+10
Fixes #22425 Also fixes #30007, since it's just a change from `true` to `false`.
2015-11-24Remove "this"Jonas Schievink-1/+1
2015-11-24Auto merge of #30000 - Manishearth:unreachable-call, r=nrcbors-4/+4
Fixes #1889
2015-11-24Fix unreachable code in libsyntaxManish Goregaokar-4/+4
2015-11-23Auto merge of #29952 - petrochenkov:depr, r=brsonbors-1/+1
Part of https://github.com/rust-lang/rust/issues/29935 The deprecation lint is still called "deprecated", so people can continue using `#[allow(deprecated)]` and similar things.
2015-11-23Print the macro context name on incomplete parseJonas Schievink-10/+10
Fixes #22425 Also fixes #30007, since it's just a change from `true` to `false`.
2015-11-22Look up macro names as well when suggesting replacements for function ↵Manish Goregaokar-18/+28
resolve errors fixes #5780
2015-11-20Rename #[deprecated] to #[rustc_deprecated]Vadim Petrochenkov-1/+1
2015-11-17Auto merge of #29887 - sanxiyn:match-ref-pats, r=sfacklerbors-22/+22
2015-11-17Fix match_ref_pats flagged by ClippySeo Sanghyeon-22/+22
2015-11-16rename `ast::ImplItem_::*ImplItem` to `ast::ImplItemKind::*`Oliver Schneider-7/+7
2015-11-16Auto merge of #29828 - sanxiyn:check-macro, r=nrcbors-49/+63
Fix #27409.
2015-11-14Check macro definition and do not expand invalid macrosSeo Sanghyeon-3/+22
2015-11-14Reindent codeSeo Sanghyeon-22/+22
2015-11-14Store TokenTree in MacroRulesMacroExpanderSeo Sanghyeon-28/+23
2015-11-13Move the panicking parse functions out of the parserKyle Mayes-3/+52
Since these functions are only used by the AST quoting syntax extensions, they should be there instead of in the parser.
2015-11-13Auto merge of #29761 - eefriedman:rename-nopanic, r=sanxiynbors-21/+21
Just `sed s/_nopanic//g`. Hopefully makes libsyntax a bit more readable.
2015-11-12Auto merge of #29780 - KyleMayes:quote-ext, r=nrcbors-0/+63
This is my first code contribution to Rust, so I'm sure there are some issues with the changes I've made. I've added the `quote_arg!`, `quote_block!`, `quote_path!`, and `quote_meta_item!` quasiquoting macros. From my experience trying to build AST in compiler plugins, I would like to be able to build any AST piece with a quasiquoting macro (e.g., `quote_struct_field!` or `quote_variant!`) and then use those AST pieces in other quasiquoting macros, but this pull request just adds some of the low-hanging fruit. I'm not sure if these additions are desirable, and I'm sure these macros can be implemented in an external crate if not.
2015-11-12libsyntax: deny warnings in doctestsKevin Butler-7/+9
2015-11-11libsyntax: Add more quasiquoting macrosKyle Mayes-0/+63
2015-11-11Auto merge of #29744 - sanxiyn:modernize, r=nrcbors-10/+10
2015-11-10Rename _nopanic methods to remove the suffix.Eli Friedman-21/+21
Just `sed s/_nopanic//g`. Hopefully makes libsyntax a bit more readable.
2015-11-10Use lifetime elisionSeo Sanghyeon-2/+2
2015-11-10Use deref coercionsSeo Sanghyeon-8/+8
2015-11-09syntax: Use `let _` in #[derive(Debug)]Alex Crichton-4/+21
This should help avoid triggering the unused_results lint which can frequently be turned on. Closes #29710
2015-11-06Auto merge of #29582 - oli-obk:token_tree, r=sfacklerbors-121/+133
2015-11-06remove `Tt` prefix from TokenType variantsOliver Schneider-121/+133
[breaking change]
2015-11-06Auto merge of #29615 - steveklabnik:lol_strings, r=alexcrichtonbors-3/+1
&format!("...") is the same as "" if we're not doing any interpolation, and doesn't allocate an intermediate String.
2015-11-05Auto merge of #29565 - sfackler:issue-29540, r=huonwbors-24/+35
Closes #29540 r? @huonw
2015-11-05remove excess string allocationSteve Klabnik-3/+1
&format!("...") is the same as "" if we're not doing any interpolation, and doesn't allocate an intermediate String.
2015-11-03Don't chain method calls in #[derive(Debug)]Steven Fackler-24/+35
Closes #29540
2015-11-03Allow indirect operands to be used as inputs for inline asmAmanieu d'Antras-2/+2
2015-11-03Auto merge of #29285 - eefriedman:libsyntax-panic, r=nrcbors-31/+29
A set of commits which pushes some panics out of core parser methods, and into users of those parser methods.
2015-10-31Remove PatWildMultiVadim Petrochenkov-2/+2
2015-10-28Make quote plugin use parsing functions which explicitly panic.Eli Friedman-7/+7
Rename parse_* to parse_*_panic, and add parse_attribute_panic.
2015-10-27Don't panic for fatal errors in attribute parsing.Eli Friedman-2/+2
2015-10-27Delete unnecessary ParserAttr trait.Eli Friedman-2/+0
2015-10-27Don't use panicking helpers in Parser.Eli Friedman-20/+20
2015-10-25syntax/rustc_front: Simplify VariantData::fieldsVadim Petrochenkov-6/+6
And use VariantData instead of P<VariantData> in Item_ and Variant_
2015-10-20Auto merge of #29148 - petrochenkov:noshow, r=alexcrichtonbors-5/+3
Closes https://github.com/rust-lang/rust/issues/29145 [breaking-change], needs a crater run.
2015-10-19Generate stability attributes for derived implsVadim Petrochenkov-1/+1
The attributes are copied from the item for which the trait impl is derived
2015-10-18Remove #[derive(Show)]Vadim Petrochenkov-5/+3
2015-10-16Auto merge of #29014 - petrochenkov:stability, r=brsonbors-1/+1
Stricter checking of stability attributes + enforcement of their invariants at compile time (+ removed dead file librustc_front/attr.rs) I intended to enforce use of `reason` for unstable items as well (it normally presents for new items), but it turned out too intrusive, many older unstable items don't have `reason`s. r? @aturon I'm studying how stability works and do some refactoring along the way, so it's probably not the last PR.
2015-10-15Auto merge of #28980 - nrc:unsafe-macros, r=@pnkfelixbors-100/+0
This is a [breaking change]. @brson could you do a Crater run with this PR please? Lets not land till Crater says its OK. This was discussed at https://internals.rust-lang.org/t/does-anyone-use-the-push-pop-unsafe-macros/2702
2015-10-13Merge VariantData and VariantData_Vadim Petrochenkov-5/+4
2015-10-13Merge struct fields and struct kindVadim Petrochenkov-10/+13