summary refs log tree commit diff
path: root/src/libsyntax/ext
AgeCommit message (Collapse)AuthorLines
2015-10-13Dict -> Struct, StructDef -> VariantData, def -> dataVadim Petrochenkov-18/+18
2015-10-13Remove now redundant NodeId from VariantVadim Petrochenkov-1/+0
2015-10-13Decouple structure kinds from NodeIdsVadim Petrochenkov-3/+7
2015-10-13Unify structures and enum variants in ASTVadim Petrochenkov-84/+37
2015-10-13Refactor attr::StabilityVadim Petrochenkov-1/+1
Stricter checking + enforcement of invariants at compile time
2015-10-12Remove the push_unsafe! and pop_unsafe! macros.Nick Cameron-100/+0
This is a [breaking change].
2015-10-09Auto merge of #28857 - nrc:lowering, r=nikomatsakisbors-400/+75
r? @nikomatsakis
2015-10-09Some cleanup of no longer used AST thingsNick Cameron-6/+3
2015-10-09hygiene for `for` loops, `if let`, `while let`Nick Cameron-15/+72
and some unrelated test cleanups
2015-10-09Fix stabilityNick Cameron-1/+1
2015-10-09Move placement in desugaring to loweringNick Cameron-154/+3
2015-10-09if let and while letNick Cameron-140/+4
2015-10-09Move `for` loop desugaring to loweringNick Cameron-94/+2
2015-10-08typos: fix a grabbag of typos all over the placeCristi Cobzarenco-3/+3
2015-10-06Add comment for the use of Ident in hash map in mtwtVadim Petrochenkov-0/+2
2015-10-03libsyntax: Do not derive Hash for IdentVadim Petrochenkov-2/+2
2015-10-01Stop re-exporting AttrStyle's variants and rename them.Ms2ger-3/+3
2015-09-26Auto merge of #28642 - petrochenkov:name3, r=nrcbors-88/+76
This PR removes random remaining `Ident`s outside of libsyntax and performs general cleanup In particular, interfaces of `Name` and `Ident` are tidied up, `Name`s and `Ident`s being small `Copy` aggregates are always passed to functions by value, and `Ident`s are never used as keys in maps, because `Ident` comparisons are tricky. Although this PR closes https://github.com/rust-lang/rust/issues/6993 there's still work related to it: - `Name` can be made `NonZero` to compress numerous `Option<Name>`s and `Option<Ident>`s but it requires const unsafe functions. - Implementation of `PartialEq` on `Ident` should be eliminated and replaced with explicit hygienic, non-hygienic or member-wise comparisons. - Finally, large parts of AST can potentially be converted to `Name`s in the same way as HIR to clearly separate identifiers used in hygienic and non-hygienic contexts. r? @nrc
2015-09-24Cleanup interfaces of Name, SyntaxContext and IdentVadim Petrochenkov-88/+76
Make sure Name, SyntaxContext and Ident are passed by value Make sure Idents don't serve as keys (or parts of keys) in maps, Ident comparison is not well defined
2015-09-24Remove the deprecated box(PLACE) syntax.Eduard Burtescu-2/+2
2015-09-21Use ast::AsmDialect's variants qualified, and drop the pointless prefix.Ms2ger-2/+3
2015-09-20Replace `ast::Mac_` enum with structAndrew Paseltiner-88/+75
Closes #28527.
2015-09-20Move tts instead of cloning in expansionManish Goregaokar-24/+25
2015-09-17Remove Visibility field from enum variantsSimonas Kazlauskas-1/+0
Followup on #28440
2015-09-08Allow tracking issues for lang features.Huon Wilson-2/+10
This is similar to the libs version, which allow an `issue` field in the `#[unstable]` attribute. cc #28244
2015-09-03Use consistent terminology for byte string literalsVadim Petrochenkov-3/+3
Avoid confusion with binary integer literals and binary operator expressions in libsyntax
2015-09-01Auto merge of #28137 - nrc:remove-non-multi, r=huonwbors-151/+2
This is a [breaking-change] for syntax extension authors. The fix is to use MultiModifier or MultiDecorator, which have the same functionality but are more flexible. Users of syntax extensions are unaffected.
2015-09-01Remove the Modifier and Decorator kinds of syntax extensions.Nick Cameron-151/+2
This is a [breaking-change] for syntax extension authors. The fix is to use MultiModifier or MultiDecorator, which have the same functionality but are more flexible. Users of syntax extensions are unaffected.
2015-08-31Closures are not generated code.Nick Cameron-4/+1
2015-08-29Allow #[derive()] to generate unsafe trait implsMichael Layzell-1/+23
2015-08-28Move ExpnInfo to NameManish Goregaokar-19/+19
2015-08-27Enumify CompilerExpansion in ExpnInfoManish Goregaokar-36/+27
2015-08-24Auto merge of #27239 - apasel422:issue-19102, r=huonwbors-1/+7
closes #19102
2015-08-19Auto merge of #27849 - jonas-schievink:macro-errors, r=nikomatsakisbors-46/+50
And some small indentation/code style fixes in the macro parser.
2015-08-17feature gate `cfg(target_feature)`.Huon Wilson-8/+15
This is theoretically a breaking change, but GitHub search turns up no uses of it, and most non-built-in cfg's are passed via cargo features, which look like `feature = "..."`, and hence can't overlap.
2015-08-17Implement `repr(simd)` as an alias for `#[simd]`.Huon Wilson-1/+1
2015-08-15Slightly improved macro diagnostics + Indentation fixesJonas Schievink-46/+50
2015-08-15Auto merge of #27827 - w00ns:for-loop-expn-issue-27639, r=alexcrichtonbors-10/+1
Fixes #27639
2015-08-15Fix issue with for loop expansionw00ns-10/+1
2015-08-15Fix span of invalid metavariable repetitionJonas Schievink-1/+1
2015-08-12Auto merge of #27691 - jonas-schievink:for-macro, r=alexcrichtonbors-1/+1
Closes #27004
2015-08-12Fix macro expansion in for loop patternJonas Schievink-1/+1
2015-08-11Auto merge of #27584 - TimNN:macro-eof-span, r=huonwbors-23/+17
The ideas is to use the span of the complete macro invocation if the span of a macro error is `DUMMY_SP`. fixes #7970
2015-08-10Auto merge of #27451 - seanmonstar:use-groups-as, r=alexcrichtonbors-1/+1
An implementation of [RFC 1219](https://github.com/rust-lang/rfcs/pull/1219). The RFC is not merged yet, but once merged, this could be.
2015-08-10add and use Span.substitute_dummy methodTim Neumann-17/+6
2015-08-08rustc: rename multiple imports in a listSean McArthur-1/+1
2015-08-07improve span of erroneous empty macro invocationTim Neumann-22/+27
The ideas is to use the span of the complete macro invocation if the span of a macro error is `DUMMY_SP`. fixes #7970
2015-08-06Auto merge of #27296 - jroesch:type-macros, r=huonwbors-0/+73
This pull request implements the functionality for [RFC 873](https://github.com/rust-lang/rfcs/blob/master/text/0873-type-macros.md). This is currently just an update of @freebroccolo's branch from January, the corresponding commits are linked in each commit message. @nikomatsakis and I had talked about updating the macro language to support a lifetime fragment specifier, and it is possible to do that work on this branch as well. If so we can (collectively) talk about it next week during the pre-RustCamp work week.
2015-08-04Fix last nitsJared Roesch-1/+2
2015-08-04Actually commit testsJared Roesch-1/+1