Alex Crichton
3ef2df9e88
rollup merge of #21845 : Potpourri/import-syntax
...
syntax like `use foo::bar::;` and `use foo:: as bar;` should be rejected, see issue #21629
2015-02-02 11:01:17 -08: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
Alex Crichton
075588a493
rollup merge of #21825 : kmcallister/ttdelim-span
2015-02-02 10:58:19 -08:00
Alex Crichton
9529ab0e7e
rollup merge of #21710 : alfie/libsyntax
...
Conflicts:
src/libsyntax/parse/parser.rs
2015-02-02 10:56:55 -08:00
Jorge Aparicio
fd702702ee
for x in xs.into_iter() -> for x in xs
...
Also `for x in option.into_iter()` -> `if let Some(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
P1start
597b4fa984
Tweak some ‘expected…’ error messages
...
Fixes #21153 .
2015-02-02 15:30:35 +13:00
Potpourri
0828efd72f
Reject syntax like use foo::bar::; and use foo:: as bar; and keywords in view path idents
2015-02-01 23:31:21 +03:00
Keegan McAllister
cedc6753f2
Fix end of TtDelimited span
2015-01-31 17:41:38 -08:00
Alex Crichton
0cdde6e5e0
std: Stabilize FromStr and parse
...
This commits adds an associated type to the `FromStr` trait representing an
error payload for parses which do not succeed. The previous return value,
`Option<Self>` did not allow for this form of payload. After the associated type
was added, the following attributes were applied:
* `FromStr` is now stable
* `FromStr::Err` is now stable
* `FromStr::from_str` is now stable
* `StrExt::parse` is now stable
* `FromStr for bool` is now stable
* `FromStr for $float` is now stable
* `FromStr for $integral` is now stable
* Errors returned from stable `FromStr` implementations are stable
* Errors implement `Display` and `Error` (both impl blocks being `#[stable]`)
Closes #15138
2015-01-30 08:52:44 -08:00
Nick Cameron
023d49e347
Change from core::ops::RangeFull to std::ops
2015-01-30 12:01:08 +13:00
Nick Cameron
bf2b473816
Rename FullRange to RangeFull
2015-01-30 12:01:08 +13:00
Nick Cameron
a9d465fec9
Use absolute path to FullRange, rather than assuming it is in the prelude
...
Closes #21263
[breaking-change]
If you are using `core::ops::FullRange` you should change to using `core::ops::RangeFull`
2015-01-30 12:00:20 +13:00
Niko Matsakis
07cdb85331
Move return type an associated type of the Fn* traits. Mostly this involves tweaking things in
...
the compiler that assumed two input types to assume two ouputs; we also have to teach `project.rs`
to project `Output` from the unboxed closure and fn traits.
2015-01-28 05:15:23 -05:00
Alex Crichton
3a07f859b8
Fallout of io => old_io
2015-01-26 16:01:16 -08:00
Eduard Burtescu
9690be5ece
Adjust most comments and messages to not use "unboxed".
2015-01-26 04:15:09 +02:00
Eduard Burtescu
11ef6f1349
Remove "unboxed" attribute in code referring to new closures.
2015-01-26 04:15:09 +02:00
Huon Wilson
ec790d6fcc
Tweak chained comparison errors.
...
Lower case and give a more precise span: from operator to operator, not
just the last one.
2015-01-25 00:35:06 +11:00
Huon Wilson
2e888d0341
Add the span of the operator itself to ast::BinOp.
2015-01-25 00:33:50 +11:00
Daniel Grunwald
db013f9f45
Fix some grammar inconsistencies for the '..' range notation.
...
Grammar changes:
* allow 'for _ in 1..i {}' (fixes #20241 )
* allow 'for _ in 1.. {}' as infinite loop
* prevent use of range notation in contexts where only operators of high
precedence are expected (fixes #20811 )
Parser code cleanup:
* remove RESTRICTION_NO_DOTS
* make AS_PREC const and follow naming convention
* make min_prec inclusive
2015-01-22 19:55:15 +01:00
Alex Crichton
df1cddf20a
rollup merge of #20179 : eddyb/blind-items
...
Conflicts:
src/librustc/diagnostics.rs
src/librustdoc/clean/mod.rs
src/librustdoc/html/format.rs
src/libsyntax/parse/parser.rs
2015-01-21 11:56:00 -08:00
Alex Crichton
886c6f3534
rollup merge of #21258 : aturon/stab-3-index
...
Conflicts:
src/libcore/ops.rs
src/librustc_typeck/astconv.rs
src/libstd/io/mem.rs
src/libsyntax/parse/lexer/mod.rs
2015-01-21 11:53:49 -08:00
Alex Crichton
9c999c797c
rollup merge of #21463 : sanxiyn/demut
2015-01-21 09:21:09 -08:00
Alex Crichton
5d82c0fabf
rollup merge of #21411 : P1start/help-tweaks
...
Conflicts:
src/librustc_typeck/check/closure.rs
2015-01-21 09:15:54 -08:00
Alex Crichton
0c981875e4
rollup merge of #21340 : pshc/libsyntax-no-more-ints
...
Collaboration with @rylev!
I didn't change `int` in the [quasi-quoter](99ae1a30f3/src/libsyntax/ext/quote.rs (L328) ), because I'm not sure if there will be adverse effects.
Addresses #21095 .
2015-01-21 09:13:51 -08:00
Aaron Turon
a506d4cbfe
Fallout from stabilization.
2015-01-21 08:11:07 -08:00
Eduard Burtescu
38ac9e3984
syntax: merge ast::ViewItem into ast::Item.
2015-01-21 16:27:25 +02:00
Seo Sanghyeon
d4ced7b468
De-mut the parser
2015-01-21 20:44:49 +09:00
P1start
ed769bf87f
Fix up some ‘help’ messages
2015-01-20 19:51:44 +13:00
bors
4032b85aec
Auto merge of #21278 - thchittenden:issue-21033-struct-var-pattern-fix, r=alexcrichton
...
Closes #21033 . The new strategy for parsing a field pattern is to look 1 token ahead and if it's a colon, parse as "fieldname: pat", otherwise parse the shorthand form "(box) (ref) (mut) fieldname)". The previous strategy was to parse "(ref) (mut) fieldname" then if we encounter a colon, throw an error if either "ref" or "mut" were encountered.
2015-01-19 19:40:51 +00:00
Tom Chittenden
d8372139a7
Fixes #21033 with accompanying test.
2015-01-19 11:58:01 -05:00
bors
135cac8528
Auto merge of #21099 - sanxiyn:opt-return-ty, r=alexcrichton
...
This avoids having ast::Ty nodes which have no counterpart in the source.
2015-01-19 08:22:58 +00:00
Paul Collier
3c32cd1be2
libsyntax: 0u -> 0us, 0i -> 0is
2015-01-18 19:43:44 -08:00
Paul Collier
591337431d
libsyntax: int types -> isize
2015-01-18 19:43:44 -08:00
Paul Collier
7a24b3a4d7
libsyntax: int => i32 in appropriate places
2015-01-18 19:43:44 -08:00
Seo Sanghyeon
3f0cc8011a
Make output type in ast::FnDecl optional
2015-01-18 22:49:19 +09:00
bors
dcaeb6aa23
auto merge of #20901 : dgrunwald/rust/update-token-can-begin-expr, r=sanxiyn
...
* add `Token::AndAnd` (double borrow)
* add `Token::DotDot` (range notation)
* remove `Token::Pound` and `Token::At`
This fixes a syntax error when parsing `fn f() -> RangeTo<i32> { return ..1; }`.
Also, remove `fn_expr_lookahead`.
It's from the `fn~` days and seems to no longer be necessary.
2015-01-18 11:28:53 +00:00
Paul Collier
a32249d447
libsyntax: uint types to usize
2015-01-17 23:45:29 +00:00
Alex Crichton
42198c18f4
Test fixes and rebase conflicts
2015-01-15 18:53:30 -08:00
Alex Crichton
0be4b9b9c5
rollup merge of #21088 : aochagavia/obsolete
...
Only the most recent changes (since November 2014) get a special error.
Fixes #20599
2015-01-15 14:11:44 -08:00
Eduard Burtescu
b51026e09c
syntax: parse fully qualified UFCS expressions.
2015-01-15 18:51:14 +02:00
Adolfo Ochagavía
21a2df6362
Remove old obsolete syntax errors
2015-01-14 22:17:03 +01:00
Daniel Grunwald
d0863adf24
Update Token::can_begin_expr() to make it consistent with the grammar:
...
* add Token::AndAnd (double borrow)
* add Token::DotDot (range notation)
* remove Token::Pound and Token::At
Fixes a syntax error when parsing "fn f() -> RangeTo<i32> { return ..1; }".
Also, remove "fn_expr_lookahead".
It's from the fn~ days and seems to no longer be necessary.
2015-01-11 00:14:03 +01:00
Steven Fackler
cbd962ebb5
Forbid trailing attributes in impl blocks
...
Closes #20711
2015-01-08 21:36:30 -08:00
Alex Crichton
d11bfba71b
rollup merge of #20720 : nick29581/assoc-ice-missing
2015-01-07 17:38:03 -08:00
Nick Cameron
68a783a89f
Remove String impls and fix for make tidy
2015-01-08 14:35:53 +13:00
Alex Crichton
6e806bdefd
rollup merge of #20721 : japaric/snap
...
Conflicts:
src/libcollections/vec.rs
src/libcore/fmt/mod.rs
src/librustc/lint/builtin.rs
src/librustc/session/config.rs
src/librustc_trans/trans/base.rs
src/librustc_trans/trans/context.rs
src/librustc_trans/trans/type_.rs
src/librustc_typeck/check/_match.rs
src/librustdoc/html/format.rs
src/libsyntax/std_inject.rs
src/libsyntax/util/interner.rs
src/test/compile-fail/mut-pattern-mismatched.rs
2015-01-07 17:26:58 -08:00
Alex Crichton
f6a7dc5528
rollup merge of #20726 : dgrunwald/require-parens-for-chained-comparison
...
[Rendered RFC](https://github.com/rust-lang/rfcs/blob/master/text/0558-require-parentheses-for-chained-comparisons.md )
2015-01-07 17:19:55 -08:00
Daniel Grunwald
1cc69c484e
RFC 558: Require parentheses for chained comparisons
...
Fixes #20724 .
2015-01-08 01:44:01 +01:00