about summary refs log tree commit diff
path: root/src/libsyntax/diagnostics/plugin.rs
AgeCommit message (Collapse)AuthorLines
2018-03-08Move REGISTERED_DIAGNOSTICS to a ParseSess fieldJohn Kåre Alsaker-19/+4
2018-02-18Replace dummy spans with empty spansSeiichi Uchida-1/+1
2018-02-18Change ast::Visibility to Spanned typeSeiichi Uchida-1/+2
2017-08-15use field init shorthand EVERYWHEREZack M. Davis-2/+2
Like #43008 (f668999), but _much more aggressive_.
2017-07-28syntax: Add `tokens: Option<TokenStream>` to ItemAlex Crichton-0/+1
This commit adds a new field to the `Item` AST node in libsyntax to optionally contain the original token stream that the item itself was parsed from. This is currently `None` everywhere but is intended for use later with procedural macros.
2017-05-25Hygienize lifetimes.Jeffrey Seyfried-1/+1
2017-05-15adressed comments by @kennytm and @petrochenkovAndre Bogus-2/+2
2017-05-12Fix some clippy warnings in libsyntaxAndre Bogus-3/+3
This is mostly removing stray ampersands, needless returns and lifetimes.
2016-11-21Use `Symbol` instead of `InternedString` in the AST, HIR, and various other ↵Jeffrey Seyfried-3/+3
places.
2016-11-20Move `syntax::util::interner` -> `syntax::symbol`, cleanup.Jeffrey Seyfried-1/+2
2016-09-28libsyntax: clearer names for some AST partsJonas Schievink-1/+1
This applies the HIR changes from the previous commits to the AST, and is thus a syntax-[breaking-change] Renames `PatKind::Vec` to `PatKind::Slice`, since these are called slice patterns, not vec patterns. Renames `TyKind::Vec`, which represents the type `[T]`, to `TyKind::Slice`. Renames `TyKind::FixedLengthVec` to `TyKind::Array`.
2016-06-26Rollup merge of #34385 - cgswords:tstream, r=nrcJeffrey Seyfried-1/+2
syntax-[breaking-change] cc #31645 (Only breaking because ast::TokenTree is now tokenstream::TokenTree.) This pull request refactors TokenTrees into their own file as src/libsyntax/tokenstream.rs, moving them out of src/libsyntax/ast.rs, in order to prepare for an accompanying TokenStream implementation (per RFC 1566).
2016-06-24reexport errors from syntax. fix failing cfail testJonathan Turner-0/+2
2016-06-23Move errors from libsyntax to its own crateJonathan Turner-1/+1
2016-06-21Refactored tokentrees into their own files in preparation for tokenstreams. ↵cgswords-1/+2
Modified tests to point to the new file now.
2016-04-24syntax: Get rid of token::IdentStyleVadim Petrochenkov-5/+5
2016-02-11[breaking-change] don't glob export ast::Visibility variantsOliver 'ker' Schneider-1/+1
2016-02-11[breaking-change] don't glob export ast::Mutablity variantsOliver 'ker' Schneider-1/+1
2016-02-11[breaking-change] don't glob export ast::Item_ variantsOliver 'ker' Schneider-1/+1
2016-02-11[breaking-change] don't pub export ast::Ty_ variantsOliver Schneider-2/+2
2016-01-28Avoid ICE if environment variable is not setRuud van Asseldonk-14/+18
Rustdoc could trigger a code path that relied on the $CFG_COMPILER_HOST_TRIPLE environment variable being set, causing an ICE if it was not. This fixes that, emitting an error instead of crashing.
2015-12-30use structured errorsNick Cameron-3/+3
2015-11-06remove `Tt` prefix from TokenType variantsOliver Schneider-7/+7
[breaking change]
2015-09-24Cleanup interfaces of Name, SyntaxContext and IdentVadim Petrochenkov-1/+1
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-08-09Use https URLs to refer to rust-lang.org where appropriate.Eli Friedman-1/+1
Also fixes a few outdated links.
2015-07-28remove `get_ident` and `get_name`, make `as_str` soundOliver Schneider-11/+14
2015-06-20diagnostics: Resurrect the Compiler Error Index.Michael Sproul-4/+16
2015-06-14diagnostics: Allow long URLs in error explanations.Michael Sproul-2/+9
2015-06-07change some statics to constantsOliver 'ker' Schneider-2/+1
2015-05-22Remove error diagnostics uniqueness check and .json generation.Felix S. Klock II-17/+4
This is meant to be a temporary measure to get the builds to be reliable again; see also Issue #25705.
2015-04-30Add metadata output to the diagnostics system.Michael Sproul-34/+62
Diagnostic errors are now checked for uniqueness across the compiler and error metadata is written to JSON files.
2015-04-21syntax: remove #[feature(quote, unsafe_destructor)]Erick Tryzelaar-5/+43
2015-04-21syntax: Remove uses of #[feature(slice_patterns)]Erick Tryzelaar-9/+14
2015-04-17Enforce 80 char lines in extended errors.Michael Sproul-3/+12
2015-04-17Validate format of extended error descriptions.Michael Sproul-0/+12
2015-02-27Replace MacExpr / MacPat / MacItems with MacEagerKeegan McAllister-5/+6
MacEager is a MacResult implementation for the common case where you've already built each form of AST that you might return. Fixes #17637. Based on #18814. This is a [breaking-change] for syntax extensions: * MacExpr::new becomes MacEager::expr. * MacPat::new becomes MacEager::pat. * MacItems::new becomes MacEager::items. It takes a SmallVector directly, not an iterator.
2015-02-18Replace all uses of `&foo[]` with `&foo[..]` en masse.Niko Matsakis-4/+4
2015-02-06Update to last version, remove "[]" as much as possibleGuillaumeGomez-4/+4
2015-02-06Libsyntax has been updatedGuillaumeGomez-5/+4
2015-02-06Replace the get method by the deref one on InternedStringGuillaumeGomez-4/+6
2015-01-21Make diagnostic ordering deterministicAlex Crichton-7/+7
2015-01-20Make error code registration work again. #19624Brian Anderson-0/+7
2015-01-07use slicing sugarJorge Aparicio-6/+6
2015-01-07Replace full slice notation with index callsNick Cameron-3/+3
2015-01-02More falloutNick Cameron-1/+1
2014-12-21Fallout of std::str stabilizationAlex Crichton-3/+3
2014-12-18librustc: Always parse `macro!()`/`macro![]` as expressions if notPatrick Walton-6/+10
followed by a semicolon. This allows code like `vec![1i, 2, 3].len();` to work. This breaks code that uses macros as statements without putting semicolons after them, such as: fn main() { ... assert!(a == b) assert!(c == d) println(...); } It also breaks code that uses macros as items without semicolons: local_data_key!(foo) fn main() { println("hello world") } Add semicolons to fix this code. Those two examples can be fixed as follows: fn main() { ... assert!(a == b); assert!(c == d); println(...); } local_data_key!(foo); fn main() { println("hello world") } RFC #378. Closes #18635. [breaking-change]
2014-12-13libsyntax: use unboxed closuresJorge Aparicio-4/+8
2014-12-04Modify libsyntax/diagnostics to not be so persnickety. The schemeNiko Matsakis-26/+11
doesn't work in a multi-crate context. We'll need to come up with something better.
2014-11-23std: Add a new top-level thread_local moduleAlex Crichton-20/+12
This commit removes the `std::local_data` module in favor of a new `std::thread_local` module providing thread local storage. The module provides two variants of TLS: one which owns its contents and one which is based on scoped references. Each implementation has pros and cons listed in the documentation. Both flavors have accessors through a function called `with` which yield a reference to a closure provided. Both flavors also panic if a reference cannot be yielded and provide a function to test whether an access would panic or not. This is an implementation of [RFC 461][rfc] and full details can be found in that RFC. This is a breaking change due to the removal of the `std::local_data` module. All users can migrate to the new thread local system like so: thread_local!(static FOO: Rc<RefCell<Option<T>>> = Rc::new(RefCell::new(None))) The old `local_data` module inherently contained the `Rc<RefCell<Option<T>>>` as an implementation detail which must now be explicitly stated by users. [rfc]: https://github.com/rust-lang/rfcs/pull/461 [breaking-change]