bors
371bf0eda2
Auto merge of #33982 - LeoTestard:remove-check-matcher-old, r=pnkfelix
...
Remove the old FOLLOW checking (aka `check_matcher_old`).
It was supposed to be removed at the next release cycle but is still in the tree since like 6 months.
Potential breaking change, since some cases (such as #25658 ) will change from a warning to an error. But the warning stating that it will be a hard error in the next release has been there for 6 months now.
I think it's safe to break this code. ^_^
2016-06-07 17:56:35 -07:00
Leo Testard
4dab8ae64e
Remove the old FOLLOW checking (aka check_matcher_old).
2016-06-06 12:27:34 +02:00
Leo Testard
864b3c8017
Reject a LHS formed of a single sequence TT during macro_rules! checking.
...
This was already rejected during expansion. Encountering malformed LHS or RHS during expansion is now considered a bug.
2016-05-26 19:05:44 +02:00
Leo Testard
7d521445fd
Avoid iterating two times over the list of LHSes.
2016-05-24 11:21:37 +02:00
Leo Testard
eb364e9c29
Make sure that macros that didn't pass LHS checking are not expanded.
...
This avoids duplicate errors for things like invalid fragment specifiers, or
parsing errors for ambiguous macros. Fixes #29231 .
2016-05-24 11:21:28 +02:00
mitaa
6887202ea3
Make some fatal lexer errors recoverable
2016-04-27 20:48:18 +02:00
Vadim Petrochenkov
6c44bea644
syntax: Check paths in visibilities for type parameters
...
syntax: Merge PathParsingMode::NoTypesAllowed and PathParsingMode::ImportPrefix
syntax: Rename PathParsingMode and its variants to better express their purpose
syntax: Remove obsolete error message about 'self lifetime
syntax: Remove ALLOW_MODULE_PATHS workaround
syntax/resolve: Adjust some error messages
resolve: Compare unhygienic (not renamed) names with keywords::Invalid, invalid identifiers may appear to be valid after renaming
2016-04-24 20:59:44 +03:00
Vadim Petrochenkov
e2c821d35e
syntax: Make static/super/self/Self keywords + special ident cleanup
2016-04-24 20:59:44 +03:00
Vadim Petrochenkov
546c052d22
syntax: Get rid of token::IdentStyle
2016-04-24 20:59:44 +03:00
Alex Burka
01aebf01bc
implement RFC amendment 1494
2016-04-13 23:25:42 -04:00
Jorge Aparicio
0f02309e4b
try! -> ?
...
Automated conversion using the untry tool [1] and the following command:
```
$ find -name '*.rs' -type f | xargs untry
```
at the root of the Rust repo.
[1]: https://github.com/japaric/untry
2016-03-22 22:01:37 -05:00
Jeffrey Seyfried
472fcb5973
Fix the search paths for macro-expanded non-inline modules
2016-03-02 23:50:19 +00:00
Corey Farwell
5850d16d52
Remove unnecessary explicit lifetime bounds.
...
These explicit lifetimes can be ommitted because of lifetime elision
rules. Instances were found using rust-clippy.
2016-02-18 08:37:10 -05:00
Vadim Petrochenkov
77cc5764b9
Remove some unnecessary indirection from AST structures
2016-02-11 23:33:09 +03:00
Oliver 'ker' Schneider
798974cae5
[breaking-change] don't glob export ast::KleeneOp variants
2016-02-11 12:34:48 +01:00
Alex Burka
fd4d013a2c
trpl: fix macro follow sets
2016-01-27 13:26:47 -05:00
Alex Burka
e1e0de86ec
add [ to FOLLOW(ty) and FOLLOW(path)
...
Following RFC 1462 (amending 550). Closes #31135 .
2016-01-23 16:37:14 -05:00
Felix S. Klock II
3703ef5820
extending FOLLOW(NT) as specified in amendment.
...
See RFC amendment 1384:
https://github.com/rust-lang/rfcs/pull/1384
2016-01-07 20:53:33 +01:00
Felix S. Klock II
076e64475a
macro_rules: proper FIRST/FOLLOW computations for checking macro_rules validity.
...
See RFC amendment 1384 and tracking issue 30450:
https://github.com/rust-lang/rfcs/pull/1384
https://github.com/rust-lang/rust/issues/30450
Moved old check_matcher code into check_matcher_old
combined the two checks to enable a warning cycle (where we will
continue to error if the two checks agree to reject, accept if the new
check says accept, and warn if the old check accepts but the new check
rejects).
2016-01-07 20:53:33 +01:00
bors
5daa75373d
Auto merge of #30654 - nrc:panictry, r=brson
...
The motivation (other than removing boilerplate) is that this is a baby step towards a parser with error recovery.
[breaking-change] if you use any of the changed functions, you'll need to remove a try! or panictry!
2016-01-06 20:30:55 +00:00
Guillaume Gomez
6e68cdfcc2
Add test for "malformed macro lhs" and change back span_bug to span_fatal
2016-01-04 01:13:57 +01:00
Nick Cameron
9023c659af
Cut out a bunch of Result and panictry! boilerplate from libsyntax.
...
[breaking-change] if you use any of the changed functions, you'll need to remove a try! or panictry!
2015-12-31 14:29:02 +13:00
Nick Cameron
95dc7efad0
use structured errors
2015-12-30 14:27:59 +13:00
Manish Goregaokar
c2902965cb
Rollup merge of #30384 - nrc:diagnostics, r=@nikomatsakis
...
Should make it possible to add JSON or HTML errors. Also tidies up a lot.
2015-12-18 16:47:37 +05:30
Jeffrey Seyfried
8364a6feef
Remove unused imports
2015-12-17 05:43:27 +00:00
Nick Cameron
6309b0f5bb
move error handling from libsyntax/diagnostics.rs to libsyntax/errors/*
...
Also split out emitters into their own module.
2015-12-17 09:35:50 +13:00
Daniel Campbell
2dcd791d46
Generated code spans now point to callsite parameters (where applicable)
2015-12-15 17:41:03 +13:00
Jonas Schievink
fc9f9882f3
Fix "Cannot fill in a NT" ICE
2015-11-25 20:58:57 +01:00
bors
7fa2c6ca31
Auto merge of #30011 - jonas-schievink:macro-context, r=nrc
...
Fixes #22425
Also fixes #30007 , since it's just a change from `true` to `false`.
2015-11-25 03:02:05 +00:00
Jonas Schievink
52d3de7a7e
Remove "this"
2015-11-24 16:34:48 +01:00
Manish Goregaokar
7fbcb51589
Fix unreachable code in libsyntax
2015-11-24 10:05:51 +05:30
Jonas Schievink
d4a0e545e7
Print the macro context name on incomplete parse
...
Fixes #22425
Also fixes #30007 , since it's just a change from `true` to `false`.
2015-11-23 21:06:51 +01:00
Seo Sanghyeon
95f6ea920d
Fix match_ref_pats flagged by Clippy
2015-11-17 23:24:49 +09:00
bors
bf78389656
Auto merge of #29828 - sanxiyn:check-macro, r=nrc
...
Fix #27409 .
2015-11-16 05:48:35 +00:00
Seo Sanghyeon
cce7b8bd25
Check macro definition and do not expand invalid macros
2015-11-14 19:50:46 +09:00
Seo Sanghyeon
289b1b400a
Reindent code
2015-11-14 19:18:32 +09:00
Seo Sanghyeon
fdadba5786
Store TokenTree in MacroRulesMacroExpander
2015-11-14 19:11:40 +09:00
bors
b12a3582b1
Auto merge of #29761 - eefriedman:rename-nopanic, r=sanxiyn
...
Just `sed s/_nopanic//g`. Hopefully makes libsyntax a bit more
readable.
2015-11-13 10:28:25 +00:00
Eli Friedman
69210a9635
Rename _nopanic methods to remove the suffix.
...
Just `sed s/_nopanic//g`. Hopefully makes libsyntax a bit more
readable.
2015-11-10 16:10:31 -08:00
Seo Sanghyeon
791003ad3c
Use deref coercions
2015-11-10 20:16:28 +09:00
Oliver Schneider
fcc7067904
remove Tt prefix from TokenType variants
...
[breaking change]
2015-11-06 14:52:02 +01:00
Eli Friedman
de95857129
Don't panic for fatal errors in attribute parsing.
2015-10-27 20:09:10 -07:00
Eli Friedman
c141f47c24
Delete unnecessary ParserAttr trait.
2015-10-27 20:09:10 -07:00
Eli Friedman
1dd87dcfea
Don't use panicking helpers in Parser.
2015-10-27 20:09:10 -07:00
Cristi Cobzarenco
4b308b44e1
typos: fix a grabbag of typos all over the place
2015-10-08 19:49:31 +01:00
Vadim Petrochenkov
f284cbc7af
Cleanup interfaces of Name, SyntaxContext and Ident
...
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-24 23:05:02 +03:00
bors
7e13faee17
Auto merge of #27849 - jonas-schievink:macro-errors, r=nikomatsakis
...
And some small indentation/code style fixes in the macro parser.
2015-08-19 00:54:38 +00:00
Jonas Schievink
5e8d39ebfd
Slightly improved macro diagnostics + Indentation fixes
2015-08-15 21:27:52 +02:00
Jonas Schievink
59f8e3238a
Fix span of invalid metavariable repetition
2015-08-15 00:45:34 +02:00
Tim Neumann
d46e84081f
add and use Span.substitute_dummy method
2015-08-10 20:43:11 +02:00