| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2016-05-26 | Implement `..` in tuple (struct) patterns | Vadim Petrochenkov | -2/+2 | |
| 2016-05-09 | rustc: Implement custom panic runtimes | Alex Crichton | -1/+1 | |
| This commit is an implementation of [RFC 1513] which allows applications to alter the behavior of panics at compile time. A new compiler flag, `-C panic`, is added and accepts the values `unwind` or `panic`, with the default being `unwind`. This model affects how code is generated for the local crate, skipping generation of landing pads with `-C panic=abort`. [RFC 1513]: https://github.com/rust-lang/rfcs/blob/master/text/1513-less-unwinding.md Panic implementations are then provided by crates tagged with `#![panic_runtime]` and lazily required by crates with `#![needs_panic_runtime]`. The panic strategy (`-C panic` value) of the panic runtime must match the final product, and if the panic strategy is not `abort` then the entire DAG must have the same panic strategy. With the `-C panic=abort` strategy, users can expect a stable method to disable generation of landing pads, improving optimization in niche scenarios, decreasing compile time, and decreasing output binary size. With the `-C panic=unwind` strategy users can expect the existing ability to isolate failure in Rust code from the outside world. Organizationally, this commit dismantles the `sys_common::unwind` module in favor of some bits moving part of it to `libpanic_unwind` and the rest into the `panicking` module in libstd. The custom panic runtime support is pretty similar to the custom allocator support with the only major difference being how the panic runtime is injected (takes the `-C panic` flag into account). | ||||
| 2016-04-25 | Rollup merge of #33041 - petrochenkov:path, r=nrc,Manishearth | Manish Goregaokar | -5/+3 | |
| 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 | -5/+3 | |
| 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 | -3/+3 | |
| 2016-04-24 | thread tighter span for closures around | Niko Matsakis | -8/+29 | |
| Track the span corresponding to the `|...|` part of the closure. | ||||
| 2016-04-06 | Move span into `StructField` | Vadim Petrochenkov | -2/+3 | |
| 2016-04-06 | Get rid of ast::StructFieldKind | Vadim Petrochenkov | -1/+2 | |
| 2016-02-13 | Split ast::PatKind::Enum into tuple struct and path patterns | Vadim Petrochenkov | -1/+5 | |
| 2016-02-13 | Rename ast::Pat_ and its variants | Vadim Petrochenkov | -9/+9 | |
| 2016-02-11 | Remove some unnecessary indirection from AST structures | Vadim Petrochenkov | -23/+23 | |
| 2016-02-11 | [breaking-change] don't glob export ast::PathListItem_ variants | Oliver 'ker' Schneider | -1/+6 | |
| 2016-02-11 | [breaking-change] don't glob export ast::StrStyle variants | Oliver 'ker' Schneider | -1/+1 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Visibility variants | Oliver 'ker' Schneider | -2/+2 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Mutablity variants | Oliver 'ker' Schneider | -5/+8 | |
| 2016-02-11 | [breaking-change] don't glob export ast::MetaItem_ | Oliver 'ker' Schneider | -3/+3 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Item_ variants | Oliver 'ker' Schneider | -10/+10 | |
| 2016-02-11 | [breaking-change] don't pub export ast::Stmt_ variants | Oliver Schneider | -4/+4 | |
| 2016-02-11 | [breaking-change] don't pub export ast::IntLitType variants | Oliver Schneider | -4/+4 | |
| 2016-02-11 | [breaking-change] don't pub export ast::Lit_ variants | Oliver Schneider | -11/+12 | |
| 2016-02-11 | [breaking-change] don't pub export ast::Ty_ variants | Oliver Schneider | -7/+7 | |
| 2016-02-11 | [breaking-change] remove the sign from integer literals in the ast | Oliver Schneider | -2/+7 | |
| 2016-02-11 | [breaking-change] don't glob export ast::{UintTy, IntTy} variants | Oliver Schneider | -4/+4 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Expr_ variants | Oliver Schneider | -26/+26 | |
| 2016-02-11 | [breaking-change] don't glob export ast::Decl_ variants | Oliver Schneider | -3/+3 | |
| 2016-02-11 | [breaking-change] don't glob export ast::CaptureClause variants | Oliver Schneider | -2/+2 | |
| 2016-02-11 | [breaking-change] don't glob import/export syntax::abi enum variants | Oliver Schneider | -2/+2 | |
| 2016-02-11 | [breaking-change] don't glob export ast::BlockCheckMode variants | Oliver Schneider | -4/+2 | |
| 2016-02-11 | [breaking-change] don't glob import ast::FunctionRetTy variants | Oliver Schneider | -1/+1 | |
| 2016-02-11 | [breaking-change] don't glob export ast::BinOp_ | Oliver Schneider | -2/+2 | |
| 2016-02-11 | [breaking-change] don't glob export ast::UnOp variants | Oliver Schneider | -1/+2 | |
| 2015-12-22 | Stop re-exporting PathParameters's variants. | Ms2ger | -2/+2 | |
| 2015-12-21 | Auto merge of #30460 - Ms2ger:BindingMode, r=alexcrichton | bors | -3/+3 | |
| 2015-12-20 | Stop re-exporting the ast::BindingMode variants. | Ms2ger | -3/+3 | |
| 2015-12-18 | Deprecate name `OwnedSlice` and don't use it | Vadim Petrochenkov | -13/+12 | |
| 2015-12-14 | [breaking-change] move ast_util functions to methods | faineance | -5/+4 | |
| 2015-11-26 | Add syntax support for attributes on expressions and all syntax | Marvin Löbel | -0/+3 | |
| 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-10-31 | Remove PatWildMulti | Vadim Petrochenkov | -1/+1 | |
| 2015-10-25 | syntax/rustc_front: Simplify VariantData::fields | Vadim Petrochenkov | -2/+2 | |
| And use VariantData instead of P<VariantData> in Item_ and Variant_ | ||||
| 2015-10-13 | Merge VariantData and VariantData_ | Vadim Petrochenkov | -5/+4 | |
| 2015-10-13 | Merge struct fields and struct kind | Vadim Petrochenkov | -4/+7 | |
| 2015-10-13 | Dict -> Struct, StructDef -> VariantData, def -> data | Vadim Petrochenkov | -5/+5 | |
| 2015-10-13 | Remove now redundant NodeId from Variant | Vadim Petrochenkov | -1/+0 | |
| 2015-10-13 | Decouple structure kinds from NodeIds | Vadim Petrochenkov | -2/+6 | |
| 2015-10-13 | Unify structures and enum variants in AST | Vadim Petrochenkov | -3/+8 | |
| 2015-10-09 | Some cleanup of no longer used AST things | Nick Cameron | -1/+1 | |
| 2015-10-01 | Stop re-exporting AttrStyle's variants and rename them. | Ms2ger | -1/+1 | |
| 2015-09-24 | Cleanup interfaces of Name, SyntaxContext and Ident | Vadim Petrochenkov | -9/+0 | |
| 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-17 | Remove Visibility field from enum variants | Simonas Kazlauskas | -1/+0 | |
| Followup on #28440 | ||||
| 2015-08-08 | rustc: rename multiple imports in a list | Sean McArthur | -1/+1 | |
