about summary refs log tree commit diff
path: root/src/libsyntax/diagnostics/plugin.rs
AgeCommit message (Collapse)AuthorLines
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]
2014-11-20Parse and store suffixes on literals.Huon Wilson-1/+1
This adds an optional suffix at the end of a literal token: `"foo"bar`. An actual use of a suffix in a expression (or other literal that the compiler reads) is rejected in the parser. This doesn't switch the handling of numbers to this system, and doesn't outlaw illegal suffixes for them yet.
2014-11-19Switch to an independent enum for `Lit*` subtokens.Huon Wilson-1/+1
2014-11-06Fallout from collection conventionsAlexis Beingessner-2/+2
2014-10-28Use PascalCase for token variantsBrendan Zabarauskas-6/+6
2014-10-26Use standard capitalisation for TokenTree variantsBrendan Zabarauskas-6/+6
2014-10-26Rename TokenTree variants for clarityBrendan Zabarauskas-6/+6
This should be clearer, and fits in better with the `TTNonterminal` variant. Renames: - `TTTok` -> `TTToken` - `TTDelim` -> `TTDelimited` - `TTSeq` -> `TTSequence`
2014-09-19Allow syntax extensions to return multiple items, closes #16723.Florian Hahn-4/+4
This patch replaces `MacItem` with `MacItems`.
2014-09-14syntax: fix fallout from using ptr::P.Eduard Burtescu-2/+2
2014-08-27Implement generalized object and type parameter bounds (Fixes #16462)Niko Matsakis-6/+12
2014-07-12Convert a first batch of diagnostics to have error codesJakub Wieczorek-1/+2
2014-07-11Add scaffolding for assigning alpha-numeric codes to rustc diagnosticsJakub Wieczorek-0/+132