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
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
546c052d22
syntax: Get rid of token::IdentStyle
2016-04-24 20:59:44 +03: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
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
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
Jeffrey Seyfried
8364a6feef
Remove unused imports
2015-12-17 05:43:27 +00: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
Seo Sanghyeon
95f6ea920d
Fix match_ref_pats flagged by Clippy
2015-11-17 23:24:49 +09: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
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
Jonas Schievink
5e8d39ebfd
Slightly improved macro diagnostics + Indentation fixes
2015-08-15 21:27:52 +02:00
Tim Neumann
c115c51363
improve span of erroneous empty macro invocation
...
The ideas is to use the span of the complete macro invocation if the span of a
macro error is `DUMMY_SP`.
fixes #7970
2015-08-07 16:53:13 +02:00
Oliver Schneider
00a5e66f81
remove get_ident
and get_name
, make as_str
sound
2015-07-28 18:07:20 +02:00
Wesley Wiser
93ddee6cee
Change some instances of .connect() to .join()
2015-07-10 19:40:46 -04:00
Erick Tryzelaar
a4541b02a3
syntax: remove #![feature(box_syntax, box_patterns)]
2015-04-21 10:07:48 -07:00
Piotr Czarnecki
13bc8afa4b
Model lexer: Fix remaining issues
2015-04-21 12:02:12 +02:00
Tamir Duberstein
10f15e72e6
Negative case of len()
-> is_empty()
...
`s/([^\(\s]+\.)len\(\) [(?:!=)>] 0/!$1is_empty()/g`
2015-04-14 20:26:03 -07:00
Tamir Duberstein
29ac04402d
Positive case of len()
-> is_empty()
...
`s/(?<!\{ self)(?<=\.)len\(\) == 0/is_empty()/g`
2015-04-14 20:26:03 -07:00
Phil Dawes
b2bcb7229a
Work towards a non-panicing parser (libsyntax)
...
- Functions in parser.rs return PResult<> rather than panicing
- Other functions in libsyntax call panic! explicitly for now if they rely on panicing behaviour.
- 'panictry!' macro added as scaffolding while converting panicing functions.
(This does the same as 'unwrap()' but is easier to grep for and turn into try!())
- Leaves panicing wrappers for the following functions so that the
quote_* macros behave the same:
- parse_expr, parse_item, parse_pat, parse_arm, parse_ty, parse_stmt
2015-04-05 09:52:50 +01:00
Eduard Burtescu
9889aae13e
syntax: use lookahead to distinguish inner and outer attributes, instead of passing the latter around.
2015-03-13 11:36:30 +02:00
bors
68740b4054
Auto merge of #22061 - pczarn:quote_matcher_and_attr, r=kmcallister
...
Fixes #19674
Fixes #17396 (already closed, yeah)
cc @kmcallister , @cmr
2015-03-05 04:32:51 +00:00
Piotr Czarnecki
3541abedeb
Add quasiquote for matchers and attributes
2015-03-04 16:13:37 +01:00
Felix S. Klock II
0d5bcb14ad
Switched to Box::new in many places.
...
Many of the modifications putting in `Box::new` calls also include a
pointer to Issue 22405, which tracks going back to `box <expr>` if
possible in the future.
(Still tried to use `Box<_>` where it sufficed; thus some tests still
have `box_syntax` enabled, as they use a mix of `box` and `Box::new`.)
Precursor for overloaded-`box` and placement-`in`; see Issue 22181.
2015-03-03 21:05:55 +01:00
Niko Matsakis
68e5bb3f2c
Remove remaining uses of []
. This time I tried to use deref coercions where possible.
2015-02-20 14:08:14 -05:00
Alex Crichton
d6e939a2df
Round 3 test fixes and conflicts
2015-02-18 16:34:04 -08:00
Alex Crichton
231eeaa35b
rollup merge of #22502 : nikomatsakis/deprecate-bracket-bracket
...
Conflicts:
src/libcollections/slice.rs
src/libcollections/str.rs
src/librustc/middle/lang_items.rs
src/librustc_back/rpath.rs
src/librustc_typeck/check/regionck.rs
src/libstd/ffi/os_str.rs
src/libsyntax/diagnostic.rs
src/libsyntax/parse/parser.rs
src/libsyntax/util/interner.rs
src/test/run-pass/regions-refcell.rs
2015-02-18 15:48:40 -08:00
Niko Matsakis
9ea84aeed4
Replace all uses of &foo[]
with &foo[..]
en masse.
2015-02-18 17:36:03 -05:00
Alex Crichton
5250a82f79
rollup merge of #22497 : nikomatsakis/suffixes
...
Conflicts:
src/librustc_trans/trans/tvec.rs
2015-02-18 14:35:01 -08:00
Niko Matsakis
2b5720a15f
Remove i
, is
, u
, or us
suffixes that are not necessary.
2015-02-18 09:09:12 -05:00
Kevin Butler
2f586b9687
Opt for .cloned() over .map(|x| x.clone()) etc.
2015-02-18 00:56:07 +00:00
GuillaumeGomez
7b973ba827
Update to last version, remove "[]" as much as possible
2015-02-06 12:03:46 +01:00
GuillaumeGomez
8b12d3ddf9
Libsyntax has been updated
2015-02-06 11:59:10 +01:00
GuillaumeGomez
d58c0a7597
Replace the get method by the deref one on InternedString
2015-02-06 11:59:10 +01:00
Alex Crichton
7335c7dd63
rollup merge of #21830 : japaric/for-cleanup
...
Conflicts:
src/librustc/metadata/filesearch.rs
src/librustc_back/target/mod.rs
src/libstd/os.rs
src/libstd/sys/windows/os.rs
src/libsyntax/ext/tt/macro_parser.rs
src/libsyntax/print/pprust.rs
src/test/compile-fail/issue-2149.rs
2015-02-02 11:01:12 -08:00
Jorge Aparicio
d5f61b4332
for x in xs.iter_mut()
-> for x in &mut xs
...
Also `for x in option.iter_mut()` -> `if let Some(ref mut x) = option`
2015-02-02 13:40:18 -05:00
Jorge Aparicio
d5d7e6565a
for x in xs.iter()
-> for x in &xs
2015-02-02 13:40:18 -05:00
Alfie John
9683745fed
Omit integer suffix when unnecessary
...
See PR # 21378 for context
2015-02-02 04:05:54 +00:00
Jorge Aparicio
efc97a51ff
convert remaining range(a, b)
to a..b
2015-01-29 07:49:01 -05:00
Jorge Aparicio
7d661af9c8
for x in range(a, b)
-> for x in a..b
...
sed -i 's/in range(\([^,]*\), *\([^()]*\))/in \1\.\.\2/g' **/*.rs
2015-01-29 07:47:37 -05:00
Jorge Aparicio
c300d681bd
range(a, b).foo()
-> (a..b).foo()
...
sed -i 's/ range(\([^,]*\), *\([^()]*\))\./ (\1\.\.\2)\./g' **/*.rs
2015-01-29 07:46:44 -05:00
Alexander Korolkov
8a22454731
Rephrase error message on invalid fragment specifiers in macros.
...
Also, print help on valid fragment specifiers.
2015-01-23 18:51:12 +03:00