about summary refs log tree commit diff
path: root/src/libsyntax/config.rs
AgeCommit message (Collapse)AuthorLines
2016-11-11Change implementation of syntax::util::SmallVector to use ↵Mark-Simulacrum-1/+1
data_structures::SmallVec.
2016-10-29Move `CrateConfig` from `Crate` to `ParseSess`.Jeffrey Seyfried-4/+2
2016-10-18Add invalid doc comment help messageGuillaume Gomez-6/+10
2016-10-12Stabilise attributes on statements.Nick Cameron-3/+2
Note that attributes on expressions are still unstable and are behind the `stmt_expr_attributes` flag. cc [Tracking issue](https://github.com/rust-lang/rust/issues/15701)
2016-09-27With `--test`, make `#[test]` functions `pub` in `InvocationCollector`Jeffrey Seyfried-1/+1
and expand the `__test_reexports` in the correct scope.
2016-09-26make emit_feature_err take a ParseSessTim Neumann-1/+1
2016-09-15Avoid loading and parsing unconfigured non-inline modules.Jeffrey Seyfried-1/+1
2016-09-07Strip unconfigured nodes in the `InvocationCollector` fold.Jeffrey Seyfried-6/+6
2016-09-07Refactor code out of the folder implementation for `StripUnconfigured`.Jeffrey Seyfried-55/+69
2016-09-05Remove `syntax::config::strip_unconfigured`, add `syntax::config::features`.Jeffrey Seyfried-29/+34
2016-08-29Future proof the AST for `union`.Jeffrey Seyfried-0/+3
2016-08-25Refactor away `AttrMetaMethods`.Jeffrey Seyfried-1/+1
2016-08-25Refactor away `AttrNestedMetaItemMethods`.Jeffrey Seyfried-1/+1
2016-08-25Implement RFC#1559: allow all literals in attributes.Sergio Benitez-11/+26
2016-07-21Avoid processing `feature`s on unconfigured crates.Jeffrey Seyfried-1/+1
2016-07-06Auto merge of #34546 - jseyfried:cfg_attr_path, r=nrcbors-1/+1
Support `cfg_attr` on `path` attributes Fixes #25544. This is technically a [breaking-change]. For example, the following would break: ```rust mod foo; // Suppose `foo.rs` existed in the appropriate location ```
2016-06-29Support `cfg_attr` on `path` attributesJeffrey Seyfried-1/+1
2016-06-28cleanup: don't count attributes on an item in a statement position as on the ↵Jeffrey Seyfried-6/+1
statement
2016-06-26Rollup merge of #34316 - jseyfried:refactor_ast_stmt, r=eddybJeffrey Seyfried-10/+3
Refactor away `ast::Decl`, refactor `ast::Stmt`, and rename `ast::ExprKind::Again` to `ast::ExprKind::Continue`.
2016-06-23Move errors from libsyntax to its own crateJonathan Turner-1/+2
2016-06-17Fix falloutJeffrey Seyfried-10/+3
2016-06-16Simplify gated cfg checkingJeffrey Seyfried-60/+48
2016-06-16Auto merge of #34216 - jseyfried:nested_cfg_attr, r=nrcbors-1/+1
Support nested `cfg_attr` attributes Support arbitrarily deeply nested `cfg_attr` attributes (e.g. `#[cfg_attr(foo, cfg_attr(bar, baz))]`). This makes configuration idempotent. Currently, the nighties do not support any `cfg_attr` nesting. Stable and beta support just one level of `cfg_attr` nesting (expect for attributes on macro-expanded nodes, where no nesting is supported). This is a [breaking-change]. For example, the following would break: ```rust macro_rules! m { () => { #[cfg_attr(all(), cfg_attr(all(), cfg(foo)))] fn f() {} } } m!(); fn main() { f() } //~ ERROR unresolved name `f` ``` r? @nrc
2016-06-11Support nested `cfg_attr` attributesJeffrey Seyfried-1/+1
2016-06-11Refactor away the `CfgFolder` trait.Jeffrey Seyfried-34/+18
2016-06-11Forbid `#[test]` attributes on non-optional expressions.Jeffrey Seyfried-1/+1
2016-06-11Strip `#[test]` nodes during `cfg` processing on non-test builds.Jeffrey Seyfried-2/+14
2016-06-09Avoid configuring interpolated items.Jeffrey Seyfried-0/+7
2016-06-02Fix bug in the `syntax::config::StripUnconfigured` folderJeffrey Seyfried-9/+11
2016-05-27Comment methods in `CfgFolder`Jeffrey Seyfried-0/+7
2016-05-27Strip unconfigured items during macro expansionJeffrey Seyfried-7/+12
2016-05-27Process `cfg_attr` attributes on non-optional expressionsJeffrey Seyfried-31/+35
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_