Commit graph

35 commits

Author SHA1 Message Date
Andreas Martens
14f2dce532 Add tests for "ident only path should have been covered"-ICE 2015-04-15 14:18:47 +02:00
Manuel Hoffmann
4abade50d7 Added a help span which informs the user about the escaping of curly braces in a format string if a wrongly escaped one is detected in a string. 2015-04-13 15:56:10 +02:00
Dave Huseby
5387189d5b fixing some tests and temporarily disabling others to get Bitrig build working 100% 2015-04-04 12:33:44 -07:00
Vadim Petrochenkov
e1be69b8a9 Add tests for parsing of patterns 2015-04-03 05:56:27 +03:00
Vadim Petrochenkov
35c1bdb2b4 syntax: Rewrite parsing of patterns 2015-04-02 13:34:26 +03:00
Huon Wilson
606f50c46d Lex binary and octal literals more eagerly.
Previously 0b12 was considered two tokens, 0b1 and 2, as 2 isn't a valid
base 2 digit. This patch changes that to collapse them into one (and
makes `0b12` etc. an error: 2 isn't a valid base 2 digit).

This may break some macro invocations of macros with `tt` (or syntax
extensions) that rely on adjacent digits being separate tokens and hence
is a

[breaking-change]

The fix is to separate the tokens, e.g. `0b12` -> `0b1 2`.

cc https://github.com/rust-lang/rfcs/pull/879
2015-03-31 12:16:42 +11:00
Alex Crichton
d3a4f362cb rollup merge of #23786: alexcrichton/less-quotes
Conflicts:
	src/test/auxiliary/static-function-pointer-aux.rs
	src/test/auxiliary/trait_default_method_xc_aux.rs
	src/test/run-pass/issue-4545.rs
2015-03-27 16:10:25 -07:00
Alex Crichton
e77db16afb Fix fallout of removing quotes in crate names 2015-03-27 11:43:40 -07:00
Florian Hahn
afaa3b6a20 Prevent ICEs when parsing invalid escapes, closes #23620 2015-03-27 17:47:16 +01:00
Alex Crichton
eb2f1d925f rustc: Add support for extern crate foo as bar
The compiler will now issue a warning for crates that have syntax of the form
`extern crate "foo" as bar`, but it will still continue to accept this syntax.
Additionally, the string `foo-bar` will match the crate name `foo_bar` to assist
in the transition period as well.

This patch will land hopefully in tandem with a Cargo patch that will start
translating all crate names to have underscores instead of hyphens.

cc #23533
2015-03-24 14:55:15 -07:00
Alex Crichton
3112716f12 rollup merge of #23506: alexcrichton/remove-some-deprecated-things
Conflicts:
	src/test/run-pass/deprecated-no-split-stack.rs
2015-03-23 15:27:06 -07:00
Alex Crichton
f945190e63 rustc: Remove some long deprecated features:
* no_split_stack was renamed to no_stack_check
* deriving was renamed to derive
* `use foo::mod` was renamed to `use foo::self`;
* legacy lifetime definitions in closures have been replaced with `for` syntax
* `fn foo() -> &A + B` has been deprecated for some time (needs parens)
* Obsolete `for Sized?` syntax
* Obsolete `Sized? Foo` syntax
* Obsolete `|T| -> U` syntax
2015-03-18 19:46:25 -07:00
Niko Matsakis
c225824bde Require braces when a closure has an explicit return type. This is a
[breaking-change]: instead of a closure like `|| -> i32 22`, prefer `||
-> i32 { 22 }`.

Fixes #23420.
2015-03-18 20:07:27 -04:00
Manish Goregaokar
fad4c380e8 Rollup merge of #23385 - tamird:cleanup-whitespace, r=alexcrichton
r? @alexcrichton

Conflicts:
	src/test/run-pass/test-fn-signature-verification-for-explicit-return-type.rs
2015-03-17 15:21:22 +05:30
Tamir Duberstein
d51047ded0 Strip all leading/trailing newlines 2015-03-15 09:08:21 -07: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
c9b03c24ec Auto merge of #23265 - eddyb:meth-ast-refactor, r=nikomatsakis
The end result is that common fields (id, name, attributes, etc.) are stored in now-structures `ImplItem` and `TraitItem`.
The signature of a method is no longer duplicated between methods with a body (default/impl) and those without, they now share `MethodSig`.

This is also a [breaking-change] because of minor bugfixes and changes to syntax extensions:
* `pub fn` methods in a trait no longer parse - remove the `pub`, it has no meaning anymore
* `MacResult::make_methods` is now `make_impl_items` and the return type has changed accordingly
* `quote_method` is gone, because `P<ast::Method>` doesn't exist and it couldn't represent a full method anyways - could be replaced by `quote_impl_item`/`quote_trait_item` in the future, but I do hope we realize how silly that combinatorial macro expansion is and settle on a single `quote` macro + some type hints - or just no types at all (only token-trees)

r? @nikomatsakis This is necessary (hopefully also sufficient) for associated constants.
2015-03-12 20:13:23 +00:00
Eduard Burtescu
f98b176314 syntax: gather common fields of impl & trait items into their respective types. 2015-03-11 23:39:16 +02:00
Guillaume Gomez
db726faf32 Change comment in parse-fail test 2015-03-11 19:46:19 +01:00
Guillaume Gomez
4e877adddf Remove proc keyword 2015-03-10 22:02:47 +01:00
bors
97ca2a1ee9 Auto merge of #23145 - semarie:openbsd-5806, r=alexcrichton
follow freebsd due to last deprecation of `std::old_io::fs`
2015-03-08 01:43:22 +00:00
Sébastien Marie
17d5acc4a0 disable test for issue-5806 on openbsd
follow freebsd due to last deprecation of std::old_io::fs
2015-03-07 13:40:35 +01:00
Alex Crichton
39e2c69541 syntax: Remove deprecated unicode escapes
These have been deprecated for quite some time, so we should be good to remove
them now.
2015-03-06 14:11:09 -08:00
Eduard Burtescu
e64670888a Remove integer suffixes where the types in compiled code are identical. 2015-03-05 12:38:33 +05:30
Alex Crichton
95d904625b std: Deprecate std::old_io::fs
This commit deprecates the majority of std::old_io::fs in favor of std::fs and
its new functionality. Some functions remain non-deprecated but are now behind a
feature gate called `old_fs`. These functions will be deprecated once
suitable replacements have been implemented.

The compiler has been migrated to new `std::fs` and `std::path` APIs where
appropriate as part of this change.
2015-03-04 15:59:30 -08:00
Jorge Aparicio
cc8a5a0db7 obsolete |&:| syntax
closes #22881
2015-02-27 21:01:22 -05:00
Manish Goregaokar
2d74b53a03 Rollup merge of #22720 - edwardw:enum-struct-ident-walk-into-a-bar, r=nick29581
Closes #22589
Closes #22647
Closes #22665
Closes #22712
2015-02-24 12:33:40 +05:30
Edward Wang
a1396d250a Add tests for expect ident but find enum or struct panic
Closes #22589
Closes #22647
Closes #22665
Closes #22712
2015-02-24 14:59:24 +08:00
Manish Goregaokar
eaacc7aad5 Rollup merge of #22632 - nagisa:kill-show-string-with-fire!, r=alexcrichton
Toss the tomatoes!

r? @aturon

Fixes #22478. The underlying bug(?) behind that issue still exists though and there’s another issue that reports it.
2015-02-24 12:08:33 +05:30
Flavio Percoco
038d7e69e8 Fix test fallouts 2015-02-22 02:14:27 +01:00
Simonas Kazlauskas
e3104d8f0c Kill fmt::Show and fmt::String with fire!
Toss the tomatoes!
2015-02-21 16:27:55 +02: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
Florian Hahn
5550bebcaa Move remaning compile-fail tests that are rejected by the parser to parse-fail 2015-02-16 20:52:39 +01:00
Alex Crichton
6cf75ca05a rollup merge of #21918: ranma42/replace-be
Conflicts:
	src/test/compile-fail/reserved-be.rs
	src/test/compile-fail/reserved-become.rs
	src/test/parse-fail/reserved-be.rs
2015-02-10 08:41:30 -08:00
Florian Hahn
01db9a46af Move compile-fail tests that are rejected by the parser to parse-fail 2015-02-06 22:23:16 +01:00