about summary refs log tree commit diff
path: root/src/libsyntax/parse/mod.rs
AgeCommit message (Collapse)AuthorLines
2015-01-21rollup merge of #20179: eddyb/blind-itemsAlex Crichton-12/+10
Conflicts: src/librustc/diagnostics.rs src/librustdoc/clean/mod.rs src/librustdoc/html/format.rs src/libsyntax/parse/parser.rs
2015-01-21tests: fix fallout of merging ast::ViewItem into ast::Item.Eduard Burtescu-8/+8
2015-01-21rollup merge of #21463: sanxiyn/demutAlex Crichton-1/+1
2015-01-21rollup merge of #21340: pshc/libsyntax-no-more-intsAlex Crichton-26/+26
Collaboration with @rylev! I didn't change `int` in the [quasi-quoter](https://github.com/pshc/rust/blob/99ae1a30f3ca28c0f7e431620560d30e44627124/src/libsyntax/ext/quote.rs#L328), because I'm not sure if there will be adverse effects. Addresses #21095.
2015-01-21syntax: fix fallout of merging ast::ViewItem into ast::Item.Eduard Burtescu-12/+10
2015-01-21De-mut the parserSeo Sanghyeon-1/+1
2015-01-20Test fixes and rebase conflictsAlex Crichton-3/+1
2015-01-21Rollup merge of #21336 - rylev:better-nofile-error, r=brsonBarosl LEE-2/+3
Contribution from @look! Addresses https://github.com/rust-lang/rust/issues/21329
2015-01-18libsyntax: 0u -> 0us, 0i -> 0isPaul Collier-6/+6
2015-01-18libsyntax: int => i32 in appropriate placesPaul Collier-5/+5
2015-01-18Make output type in ast::FnDecl optionalSeo Sanghyeon-3/+1
2015-01-17libsyntax: rename functions from uint to usizePaul Collier-2/+2
2015-01-18Improve the error message when source file cannot be readRyan Levick-2/+3
Contribution from @look!
2015-01-17libsyntax: uint types to usizePaul Collier-13/+13
2015-01-08Store deprecated status of i/u-suffixed literals.Huon Wilson-4/+4
2015-01-07use slicing sugarJorge Aparicio-24/+24
2015-01-06More test fixesAlex Crichton-4/+4
2015-01-06rollup merge of #19430: pczarn/interp_tt-cleanupAlex Crichton-1/+3
Conflicts: src/libsyntax/parse/parser.rs
2015-01-07Cleanup and followup to PR #17830: parsing changesPiotr Czarnecki-1/+3
Prevents breaking down `$name` tokens into separate `$` and `name`. Reports unknown macro variables. Fixes #18775 Fixes #18839 Fixes #15640
2015-01-06Register new snapshotsAlex Crichton-2/+1
Conflicts: src/librbml/lib.rs src/libserialize/json_stage0.rs src/libserialize/serialize_stage0.rs src/libsyntax/ast.rs src/libsyntax/ext/deriving/generic/mod.rs src/libsyntax/parse/token.rs
2015-01-06rollup merge of #20481: seanmonstar/fmt-show-stringAlex Crichton-7/+7
Conflicts: src/compiletest/runtest.rs src/libcore/fmt/mod.rs src/libfmt_macros/lib.rs src/libregex/parse.rs src/librustc/middle/cfg/construct.rs src/librustc/middle/dataflow.rs src/librustc/middle/infer/higher_ranked/mod.rs src/librustc/middle/ty.rs src/librustc_back/archive.rs src/librustc_borrowck/borrowck/fragments.rs src/librustc_borrowck/borrowck/gather_loans/mod.rs src/librustc_resolve/lib.rs src/librustc_trans/back/link.rs src/librustc_trans/save/mod.rs src/librustc_trans/trans/base.rs src/librustc_trans/trans/callee.rs src/librustc_trans/trans/common.rs src/librustc_trans/trans/consts.rs src/librustc_trans/trans/controlflow.rs src/librustc_trans/trans/debuginfo.rs src/librustc_trans/trans/expr.rs src/librustc_trans/trans/monomorphize.rs src/librustc_typeck/astconv.rs src/librustc_typeck/check/method/mod.rs src/librustc_typeck/check/mod.rs src/librustc_typeck/check/regionck.rs src/librustc_typeck/collect.rs src/libsyntax/ext/format.rs src/libsyntax/ext/source_util.rs src/libsyntax/ext/tt/transcribe.rs src/libsyntax/parse/mod.rs src/libsyntax/parse/token.rs src/test/run-pass/issue-8898.rs
2015-01-06rollup merge of #20609: cmr/memAlex Crichton-2/+4
2015-01-07falloutNick Cameron-3/+3
2015-01-06core: split into fmt::Show and fmt::StringSean McArthur-7/+7
fmt::Show is for debugging, and can and should be implemented for all public types. This trait is used with `{:?}` syntax. There still exists #[derive(Show)]. fmt::String is for types that faithfully be represented as a String. Because of this, there is no way to derive fmt::String, all implementations must be purposeful. It is used by the default format syntax, `{}`. This will break most instances of `{}`, since that now requires the type to impl fmt::String. In most cases, replacing `{}` with `{:?}` is the correct fix. Types that were being printed specifically for users should receive a fmt::String implementation to fix this. Part of #20013 [breaking-change]
2015-01-07Replace full slice notation with index callsNick Cameron-23/+23
2015-01-06syntax/rustc: implement isize/usizeCorey Richardson-2/+4
2015-01-05Reformat metadata for exported macrosKeegan McAllister-0/+4
Instead of copy-pasting the whole macro_rules! item from the original .rs file, we serialize a separate name, attributes list, and body, the latter as pretty-printed TTs. The compilation of macro_rules! macros is decoupled somewhat from the expansion of macros in item position. This filters out comments, and facilitates selective imports.
2015-01-05Rename macro_escape to macro_useKeegan McAllister-1/+2
In the future we want to support #[macro_use(foo, bar)] mod macros; but it's not an essential part of macro reform. Reserve the syntax for now.
2015-01-05Stop using macro_escape as an inner attributeKeegan McAllister-1/+3
In preparation for the rename.
2015-01-05Add a special macro nonterminal $crateKeegan McAllister-1/+1
2015-01-03syntax: fix falloutJorge Aparicio-1/+1
2014-12-31syntax: unbox closures used in let bindingsJorge Aparicio-5/+5
2014-12-21Fallout of std::str stabilizationAlex Crichton-27/+27
2014-12-20Fix fallout of removing import_shadowing in tests.Eduard Burtescu-4/+3
2014-12-14Rename FnStyle trait to Unsafety.Niko Matsakis-1/+1
2014-12-13libsyntax: use tuple indexingJorge Aparicio-8/+8
2014-12-06libsyntax: remove unnecessary `to_string()` callsJorge Aparicio-1/+1
2014-12-03syntax: support ES6-style unicode escapesCorey Richardson-5/+17
First half of bootstrapping https://github.com/rust-lang/rfcs/pull/446
2014-11-26Implement the new parsing rules for types in the parser, modifying the AST ↵Niko Matsakis-1/+1
appropriately.
2014-11-19rollup merge of #19103: huonw/literal-suffixesJakub Bukaj-69/+76
Futureproof Rust for fancier suffixed literals. The Rust compiler tokenises a literal followed immediately (no whitespace) by an identifier as a single token: (for example) the text sequences `"foo"bar`, `1baz` and `1u1024` are now a single token rather than the pairs `"foo"` `bar`, `1` `baz` and `1u` `1024` respectively. The compiler rejects all such suffixes in the parser, except for the 12 numeric suffixes we have now. I'm fairly sure this will affect very few programs, since it's not currently legal to have `<literal><identifier>` in a Rust program, except in a macro invocation. Any macro invocation relying on this behaviour can simply separate the two tokens with whitespace: `foo!("bar"baz)` becomes `foo!("bar" baz)`. This implements [RFC 463](https://github.com/rust-lang/rfcs/blob/master/text/0463-future-proof-literal-suffixes.md), and so closes https://github.com/rust-lang/rust/issues/19088.
2014-11-20Switch numeric suffix parsing to use the new system.Huon Wilson-69/+76
This moves errors and all handling of numeric suffixes into the parser rather than the lexer.
2014-11-17libsyntax: Add tests for `parse_view_item`Murarth-1/+26
2014-11-16Complete the removal of ty_nil, ast::LitNil, ast::TyBot and ast::TyUniqJakub Bukaj-4/+3
[breaking-change] This will break any uses of macros that assumed () being a valid literal.
2014-11-13Remove lots of numeric traits from the preludesBrendan Zabarauskas-0/+1
Num, NumCast, Unsigned, Float, Primitive and Int have been removed.
2014-11-13Move checked arithmetic operators into Int traitBrendan Zabarauskas-1/+1
2014-11-06Support parenthesized paths `Foo(A,B) -> C` that expand to `Foo<(A,B),C>`. ↵Niko Matsakis-16/+8
These paths also bind anonymous regions (or will, once HRTB is fully working). Fixes #18423.
2014-10-30Use common variants for open and close delimitersBrendan Zabarauskas-43/+27
This common representation for delimeters should make pattern matching easier. Having a separate `token::DelimToken` enum also allows us to enforce the invariant that the opening and closing delimiters must be the same in `ast::TtDelimited`, removing the need to ensure matched delimiters when working with token trees.
2014-10-29Rename fail! to panic!Steve Klabnik-16/+16
https://github.com/rust-lang/rfcs/pull/221 The current terminology of "task failure" often causes problems when writing or speaking about code. You often want to talk about the possibility of an operation that returns a Result "failing", but cannot because of the ambiguity with task failure. Instead, you have to speak of "the failing case" or "when the operation does not succeed" or other circumlocutions. Likewise, we use a "Failure" header in rustdoc to describe when operations may fail the task, but it would often be helpful to separate out a section describing the "Err-producing" case. We have been steadily moving away from task failure and toward Result as an error-handling mechanism, so we should optimize our terminology accordingly: Result-producing functions should be easy to describe. To update your code, rename any call to `fail!` to `panic!` instead. Assuming you have not created your own macro named `panic!`, this will work on UNIX based systems: grep -lZR 'fail!' . | xargs -0 -l sed -i -e 's/fail!/panic!/g' You can of course also do this by hand. [breaking-change]
2014-10-28Use an enum rather than a bool in token::IdentBrendan Zabarauskas-9/+9
2014-10-28Use PascalCase for token variantsBrendan Zabarauskas-26/+26