| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2016-05-27 | Rollup merge of #33644 - petrochenkov:selfast, r=nrc | Manish Goregaokar | -32/+1 | |
| The AST part of https://github.com/rust-lang/rust/pull/33505. https://github.com/rust-lang/rust/pull/33505 isn't landed yet, so this PR is based on top of it. r? @nrc plugin-[breaking-change] cc #31645 @Manishearth | ||||
| 2016-05-27 | Rollup merge of #33639 - petrochenkov:dotdot, r=nmatsakis | Manish Goregaokar | -3/+5 | |
| cc https://github.com/rust-lang/rust/issues/33627 r? @nikomatsakis plugin-[breaking-change] cc https://github.com/rust-lang/rust/issues/31645 @Manishearth | ||||
| 2016-05-26 | Implement `..` in tuple (struct) patterns | Vadim Petrochenkov | -3/+5 | |
| 2016-05-25 | Add a new AST-only type variant `ImplicitSelf` | Vadim Petrochenkov | -2/+1 | |
| 2016-05-25 | Remove ExplicitSelf from AST | Vadim Petrochenkov | -31/+1 | |
| 2016-05-24 | syntax/hir: give loop labels a span | Georg Brandl | -4/+8 | |
| This makes the "shadowing labels" warning *not* print the entire loop as a span, but only the lifetime. Also makes #31719 go away, but does not fix its root cause (the span of the expanded loop is still wonky, but not used anymore). | ||||
| 2016-04-25 | Rollup merge of #33041 - petrochenkov:path, r=nrc,Manishearth | Manish Goregaokar | -14/+7 | |
| Paths are mostly parsed without taking whitespaces into account, e.g. `std :: vec :: Vec :: new ()` parses successfully, however, there are some special cases involving keywords `super`, `self` and `Self`. For example, `self::` is considered a path start only if there are no spaces between `self` and `::`. These restrictions probably made sense when `self` and friends weren't keywords, but now they are unnecessary. The first two commits remove this special treatment of whitespaces by removing `token::IdentStyle` entirely and therefore fix https://github.com/rust-lang/rust/issues/14109. This change also affects naked `self` and `super` (which are not tightly followed by `::`, obviously) they can now be parsed as paths, however they are still not resolved correctly in imports (cc @jseyfried, see `compile-fail/use-keyword.rs`), so https://github.com/rust-lang/rust/issues/29036 is not completely fixed. The third commit also makes `super`, `self`, `Self` and `static` keywords nominally (before this they acted as keywords for all purposes) and removes most of remaining \"special idents\". The last commit (before tests) contains some small improvements - some qualified paths with type parameters are parsed correctly, `parse_path` is not used for parsing single identifiers, imports are sanity checked for absence of type parameters - such type parameters can be generated by syntax extensions or by macros when https://github.com/rust-lang/rust/issues/10415 is fixed (~~soon!~~already!). This patch changes some pretty basic things in `libsyntax`, like `token::Token` and the keyword list, so it's a plugin-[breaking-change]. r? @eddyb | ||||
| 2016-04-24 | syntax: Merge keywords and remaining special idents in one list | Vadim Petrochenkov | -2/+2 | |
| Simplify the macro used for generation of keywords Make `Keyword::ident` private | ||||
| 2016-04-24 | syntax: Make static/super/self/Self keywords + special ident cleanup | Vadim Petrochenkov | -1/+1 | |
| 2016-04-24 | syntax: Get rid of token::IdentStyle | Vadim Petrochenkov | -12/+5 | |
| 2016-04-24 | thread tighter span for closures around | Niko Matsakis | -3/+4 | |
| Track the span corresponding to the `|...|` part of the closure. | ||||
| 2016-04-14 | Visit visibilities in the ast visitor's `walk_*` functions | Jeffrey Seyfried | -1/+1 | |
| 2016-04-06 | Rollup merge of #32570 - eddyb:tis-but-a-front, r=nikomatsakis | Manish Goregaokar | -8/+0 | |
| r? @nikomatsakis Conflicts: src/librustc_save_analysis/lib.rs src/libsyntax/ast_util.rs | ||||
| 2016-04-06 | Move span into `StructField` | Vadim Petrochenkov | -9/+7 | |
| 2016-04-06 | Get rid of ast::StructFieldKind | Vadim Petrochenkov | -6/+6 | |
| 2016-04-06 | syntax: dismantle ast_util. | Eduard Burtescu | -8/+0 | |
| 2016-04-02 | Add `Crate` and `Restricted` variants to `ast::Visibility` | Jeffrey Seyfried | -3/+17 | |
| 2016-03-14 | Add `default` as contextual keyword, and parse it for impl items. | Aaron Turon | -0/+1 | |
| 2016-03-07 | implement the `?` operator | Jorge Aparicio | -1/+2 | |
| The `?` postfix operator is sugar equivalent to the try! macro, but is more amenable to chaining: `File::open("foo")?.metadata()?.is_dir()`. `?` is accepted on any *expression* that can return a `Result`, e.g. `x()?`, `y!()?`, `{z}?`, `(w)?`, etc. And binds more tightly than unary operators, e.g. `!x?` is parsed as `!(x?)`. cc #31436 | ||||
| 2016-02-27 | libsyntax: parse inclusive ranges | Alex Burka | -2/+3 | |
| 2016-02-13 | Split ast::PatKind::Enum into tuple struct and path patterns | Vadim Petrochenkov | -2/+5 | |
| 2016-02-13 | Rename ast::Pat_ and its variants | Vadim Petrochenkov | -18/+18 | |
| 2016-02-12 | Use more autoderef in libsyntax | Jonas Schievink | -1/+1 | |
| 2016-02-11 | Remove some unnecessary indirection from AST structures | Vadim Petrochenkov | -65/+65 | |
| 2016-02-11 | [breaking-change] don't glob export ast::PathListItem_ variants | Oliver 'ker' Schneider | -4/+4 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Visibility variants | Oliver 'ker' Schneider | -1/+1 | |
| 2016-02-11 | [breaking-change] don't glob export ast::TraitItemKind variants | Oliver 'ker' Schneider | -6/+6 | |
| 2016-02-11 | [breaking-change] don't glob export ast::MetaItem_ | Oliver 'ker' Schneider | -4/+4 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Item_ variants | Oliver 'ker' Schneider | -31/+31 | |
| 2016-02-11 | [breaking-change] don't glob export ast::ForeignItem_ variants | Oliver 'ker' Schneider | -4/+4 | |
| 2016-02-11 | [breaking-change] don't pub export ast::Stmt_ variants | Oliver Schneider | -10/+10 | |
| 2016-02-11 | [breaking-change] don't pub export ast::Ty_ variants | Oliver Schneider | -21/+21 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Expr_ variants | Oliver Schneider | -63/+63 | |
| 2016-02-11 | [breaking-change] don't glob export ast::ExplicitSelf_ variants | Oliver Schneider | -10/+10 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Decl_ variants | Oliver Schneider | -4/+4 | |
| 2016-02-11 | [breaking-change] don't glob import ast::FunctionRetTy variants | Oliver Schneider | -3/+3 | |
| 2015-12-22 | Stop re-exporting PathParameters's variants. | Ms2ger | -4/+4 | |
| 2015-12-19 | Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis | bors | -0/+3 | |
| This PR is a rebase of the original PR by @eddyb https://github.com/rust-lang/rust/pull/21836 with some unrebasable parts manually reapplied, feature gate added + type equality restriction added as described below. This implementation is partial because the type equality restriction is applied to all type ascription expressions and not only those in lvalue contexts. Thus, all difficulties with detection of these contexts and translation of coercions having effect in runtime are avoided. So, you can't write things with coercions like `let slice = &[1, 2, 3]: &[u8];`. It obviously makes type ascription less useful than it should be, but it's still much more useful than not having type ascription at all. In particular, things like `let v = something.iter().collect(): Vec<_>;` and `let u = t.into(): U;` work as expected and I'm pretty happy with these improvements alone. Part of https://github.com/rust-lang/rust/issues/23416 | ||||
| 2015-12-18 | Deprecate name `OwnedSlice` and don't use it | Vadim Petrochenkov | -10/+9 | |
| 2015-12-16 | Implement type ascription. | Eduard Burtescu | -0/+3 | |
| 2015-12-16 | Rollup merge of #30388 - DanielJCampbell:macro-ident-spans, r=nrc | Manish Goregaokar | -1/+2 | |
| r? @nrc | ||||
| 2015-12-15 | Generated code spans now point to callsite parameters (where applicable) | Daniel Campbell | -1/+2 | |
| 2015-12-05 | Use a struct instead of a tuple for inline asm output operands | Amanieu d'Antras | -2/+7 | |
| 2015-12-05 | Add proper support for indirect output constraints in inline asm | Amanieu d'Antras | -2/+2 | |
| 2015-11-26 | Some TLC for the MoveMap trait | Marvin Löbel | -35/+13 | |
| 2015-11-26 | Fixed macro expander not folding attributes (though I'm not sure if that is ↵ | Marvin Löbel | -1/+5 | |
| actually neccessary) | ||||
| 2015-11-26 | Moved and refactored ThinAttributes | Marvin Löbel | -3/+4 | |
| 2015-11-26 | Add syntax support for attributes on expressions and all syntax | Marvin Löbel | -19/+48 | |
| 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-16 | rename `ast::ImplItem_::*ImplItem` to `ast::ImplItemKind::*` | Oliver Schneider | -6/+6 | |
| 2015-11-11 | libsyntax: Add more quasiquoting macros | Kyle Mayes | -0/+1 | |
