about summary refs log tree commit diff
path: root/src/libsyntax/config.rs
AgeCommit message (Collapse)AuthorLines
2016-05-26Move cfg_attr processing and stmt/expr attribute gated feature checking into ↵Jeffrey Seyfried-248/+86
`StripUnconfigured`
2016-05-26Implement `CfgFolder` directly instead of passing a closure to `strip_items`Jeffrey Seyfried-27/+14
2016-05-26Refactor `CfgFolder::in_cfg` -> `CfgFolder::configure`Jeffrey Seyfried-45/+29
2016-05-26Introduce `CfgFolder` traitJeffrey Seyfried-19/+32
2016-05-26Refactor the `syntax::config::fold_*` functions into methodsJeffrey Seyfried-147/+81
2016-04-06Move span into `StructField`Vadim Petrochenkov-3/+3
2016-02-11Remove some unnecessary indirection from AST structuresVadim Petrochenkov-17/+14
2016-02-11[breaking-change] don't glob export ast::MetaItem_Oliver 'ker' Schneider-1/+1
2016-02-11[breaking-change] don't glob export ast::Item_ variantsOliver 'ker' Schneider-12/+12
2016-02-11[breaking-change] don't pub export ast::Stmt_ variantsOliver Schneider-1/+1
2016-02-11[breaking-change] don't glob export ast::Expr_ variantsOliver Schneider-2/+2
2016-02-11[breaking-change] don't glob export ast::Decl_ variantsOliver Schneider-1/+1
2015-12-17move error handling from libsyntax/diagnostics.rs to libsyntax/errors/*Nick Cameron-9/+9
Also split out emitters into their own module.
2015-11-26Added stmt_expr_attribute feature gateMarvin Löbel-39/+210
2015-11-26Moved and refactored ThinAttributesMarvin Löbel-1/+1
2015-11-26Add syntax support for attributes on expressions and all syntaxMarvin Löbel-42/+65
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-10Use deref coercionsSeo Sanghyeon-5/+5
2015-10-25syntax/rustc_front: Simplify VariantData::fieldsVadim Petrochenkov-15/+13
And use VariantData instead of P<VariantData> in Item_ and Variant_
2015-10-13Merge VariantData and VariantData_Vadim Petrochenkov-16/+13
2015-10-13Merge struct fields and struct kindVadim Petrochenkov-5/+14
2015-10-13Dict -> Struct, StructDef -> VariantData, def -> dataVadim Petrochenkov-5/+5
2015-10-13Remove now redundant NodeId from VariantVadim Petrochenkov-2/+1
2015-10-13Decouple structure kinds from NodeIdsVadim Petrochenkov-2/+3
2015-10-13Unify structures and enum variants in ASTVadim Petrochenkov-7/+2
2015-10-09Some cleanup of no longer used AST thingsNick Cameron-2/+2
2015-09-17Remove Visibility field from enum variantsSimonas Kazlauskas-2/+1
Followup on #28440
2015-08-17feature gate `cfg(target_feature)`.Huon Wilson-9/+19
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-04-21syntax: Remove uses of #[feature(slice_patterns)]Erick Tryzelaar-2/+9
2015-03-11syntax: gather common fields of impl & trait items into their respective types.Eduard Burtescu-21/+2
2015-02-18Replace all uses of `&foo[]` with `&foo[..]` en masse.Niko Matsakis-1/+1
2015-02-09Process cfg_attr right before stripping cfgKeegan McAllister-1/+48
Fixes #22070. Fixes #19372.
2015-02-05cleanup: replace `as[_mut]_slice()` calls with deref coercionsJorge Aparicio-11/+11
2015-01-21syntax: fix fallout of merging ast::ViewItem into ast::Item.Eduard Burtescu-32/+4
2015-01-04Add syntax for negative implementations of traitsFlavio Percoco-2/+2
This commit introduces the syntax for negative implmenetations of traits as shown below: `impl !Trait for Type {}` cc #13231 Part of RFC #3
2014-12-26Accept `?Sized` as well as `Sized?`Nick Cameron-2/+2
Includes a bit of refactoring to store `?` unbounds as bounds with a modifier, rather than in their own world, in the AST at least.
2014-12-14Parse `unsafe impl` but don't do anything particularly interesting with the ↵Niko Matsakis-2/+2
results.
2014-12-14Parse `unsafe trait` but do not do anything with it beyond parsing and ↵Niko Matsakis-2/+2
integrating into rustdoc etc.
2014-12-13libsyntax: use unboxed closuresJorge Aparicio-23/+59
2014-11-25Fallout from stabilizationAaron Turon-2/+1
2014-11-07rustc: Process #[cfg]/#[cfg_attr] on cratesAlex Crichton-7/+16
This commit implements processing these two attributes at the crate level as well as at the item level. When #[cfg] is applied at the crate level, then the entire crate will be omitted if the cfg doesn't match. The #[cfg_attr] attribute is processed as usual in that the attribute is included or not depending on whether the cfg matches. This was spurred on by motivations of #18585 where #[cfg_attr] annotations will be applied at the crate-level. cc #18585
2014-10-25Finish cfg syntax transitionSteven Fackler-17/+5
2014-10-13auto merge of #17963 : sfackler/rust/cfg-error, r=alexcrichtonbors-8/+8
All deprecation warnings have been converted to errors. This includes the warning for multiple cfgs on one item. We'll leave that as an error for some period of time to ensure that all uses are updated before the behavior changes from "or" to "and".
2014-10-12Continue cfg syntax transitionSteven Fackler-8/+8
All deprecation warnings have been converted to errors. This includes the warning for multiple cfgs on one item. We'll leave that as an error for some period of time to ensure that all uses are updated before the behavior changes from "or" to "and".
2014-10-11Remove `virtual` structs from the languageJakub Wieczorek-3/+1
2014-10-01auto merge of #17630 : sfackler/rust/cfg-warnings, r=brsonbors-3/+0
Closes #17490
2014-09-30Turn on cfg format warningsSteven Fackler-3/+0
2014-09-30Produce a better error for irrefutable `if let` patternsKevin Ballard-2/+2
Modify ast::ExprMatch to include a new value of type ast::MatchSource, making it easy to tell whether the match was written literally or produced via desugaring. This allows us to customize error messages appropriately.
2014-09-27Convert cfg syntax to new systemSteven Fackler-4/+33
This removes the ability to use `foo(bar)` style cfgs. Switch them to `foo_bar` or `foo="bar"` instead. [breaking-change]
2014-09-17librustc: Implement associated types behind a feature gate.Patrick Walton-1/+3
The implementation essentially desugars during type collection and AST type conversion time into the parameter scheme we have now. Only fully qualified names--e.g. `<T as Foo>::Bar`--are supported.
2014-09-17move most of front to libsyntaxNick Cameron-0/+253