Eduard-Mihai Burtescu
fa2c246384
Stabilize crate_in_paths, extern_absolute_paths and extern_prelude on all editions.
2018-09-22 09:26:40 +03:00
bors
32dc5a0783
Auto merge of #54157 - euclio:structured-suggestion, r=estebank
...
use structured suggestion for "missing mut" label
Fixes #54133 for both NLL and non-NLL.
r? @estebank
I'm not super happy with the existing wording here, since it's now a suggestion. I wonder if the message would work better as something like "help: make binding mutable: `mut foo`"?
Also, are the `HELP` and `SUGGESTION` comments necessary?
2018-09-16 09:47:05 +00:00
Vadim Petrochenkov
beb3b5d22c
resolve: Introduce two sub-namespaces in macro namespace
2018-09-13 14:48:50 +03:00
Andy Russell
d871b8ad4a
use structured suggestion for "missing mut" label
...
Fixes #54133 .
2018-09-12 17:16:18 -04:00
Vadim Petrochenkov
2dce3779bb
resolve: More precise spans for ambiguous resolution errors
...
Add labels to ambiguous resolution errors
2018-09-08 14:15:11 +03:00
Vadim Petrochenkov
9beb5c3ef3
Add checks for expected macro output in restricted shadowing tests
2018-09-08 14:15:11 +03:00
Vadim Petrochenkov
e00993a1ab
Add test cases for possible restricted shadowing configurations
...
Whitelist `#[rustc_transparent_macro]` so it's not interpreted as a potential attribute macro
2018-09-08 14:15:11 +03:00
Vadim Petrochenkov
c057d579ab
resolve: Relax shadowing restriction on macro-expanded macros
...
... for both legacy and modern macros.
Fix previously introduced regressions, add tests.
2018-09-08 14:15:11 +03:00
Vadim Petrochenkov
f34ac26114
resolve: Model shadowing restriction for macro_rules after modern macros
...
This is a regression for legacy macros that will be fixed in the next commit
2018-09-08 14:15:10 +03:00
Vadim Petrochenkov
83a51deef5
resolve: Model resolve_legacy_scope
after resolve_lexical_macro_path_segment
2018-09-08 14:15:10 +03:00
Vadim Petrochenkov
c56adf6413
cleanup: Add main functions to some UI tests
2018-08-31 18:56:15 +03:00
Vadim Petrochenkov
23e9a1def5
resolve: Consolidate error reporting for resolved macros in fn resolve_macro_to_def
2018-08-20 23:12:36 +03:00
bors
c8c587fe4e
Auto merge of #50911 - petrochenkov:macuse, r=alexcrichton
...
Stabilize `use_extern_macros`
Closes https://github.com/rust-lang/rust/issues/35896
2018-08-17 19:10:34 +00:00
Corey Farwell
5c7b837c4e
Rollup merge of #53413 - eddyb:featured-in-the-latest-edition, r=varkor
...
Warn that `#![feature(rust_2018_preview)]` is implied when the edition is set to Rust 2018.
cc @varkor @petrochenkov @joshtriplett
2018-08-17 08:23:44 -07:00
Vadim Petrochenkov
a0958048b6
Stabilize use_extern_macros
2018-08-17 13:14:26 +03:00
kennytm
1cb13b296d
Rollup merge of #53412 - eddyb:stage-who, r=alexcrichton
...
syntax_ext: remove leftover span_err_if_not_stage0 macro.
I believe this is the right fix for #53380 , although I'm not sure what happened.
My guess is this copy of the macro was accidentally missed when others were removed?
cc @matthewjasper @varkor (please do not put this in a rollup, in case it fails)
2018-08-17 00:13:29 +08:00
bors
5050349749
Auto merge of #53256 - ollie27:writeln, r=KodrAus
...
Don't accept non-string literals for the format string in writeln
This is to improve diagnostics.
`println` and `eprintln` were already fixed by #52394 .
Fixes #30143
2018-08-16 13:29:40 +00:00
Eduard-Mihai Burtescu
32e17b5921
tests: prefer edition: directives to compile-flags:--edition.
2018-08-16 10:36:11 +03:00
bors
fc323ba160
Auto merge of #53293 - petrochenkov:gramattr2, r=alexcrichton
...
syntax: Enforce attribute grammar in the parser
Also fix feature-gating for `unrestricted_attribute_tokens` that was introduced in https://github.com/rust-lang/rust/pull/53270 , but was actually broken.
cc https://github.com/rust-lang/rust/pull/50911
2018-08-16 04:16:12 +00:00
Eduard-Mihai Burtescu
494889ede1
Revert "Ignore test that fails on stage1"
...
This reverts commit 0e43e6fef2
.
2018-08-16 02:11:44 +03:00
Matthew Jasper
0e43e6fef2
Ignore test that fails on stage1
2018-08-14 22:42:16 +01:00
Vadim Petrochenkov
097c40cf6e
syntax: Enforce attribute grammar in the parser
2018-08-15 00:05:55 +03:00
David Wood
cd12c82210
Fixed 'no such file or directory' mismatch between Windows and Linux.
2018-08-14 11:12:11 +02:00
David Wood
3fc7ab2373
Merged migrated compile-fail tests and ui tests. Fixes #46841 .
2018-08-14 11:12:09 +02:00
Oliver Middleton
7b0bafe749
Don't accept none str literals for the format string in writeln
2018-08-10 19:01:54 +01:00
Esteban Küber
f4039affa3
Suggest comma when missing in macro call
...
When missing a comma in a macro call, suggest it, regardless of
position. When a macro call doesn't match any of the patterns, check
if the call's token stream could be missing a comma between two idents,
and if so, create a new token stream containing the comma and try to
match against the macro patterns. If successful, emit the suggestion.
2018-08-07 22:31:57 -07:00
Esteban Küber
cce4ea5149
Point at correct span when missing comma in println
2018-08-06 20:54:51 -07:00
Esteban Küber
4862eee8b7
Suggest comma when writing println!("{}" a);
2018-08-06 20:26:21 -07:00
Mark Rousskov
683a3db01f
Switch to bootstrapping from 1.29 beta
2018-08-01 11:59:08 -06:00
Esteban Küber
75ff0ddb43
Use suggestions for shell format arguments
2018-07-31 14:16:36 -07:00
Mark Rousskov
2aec4e882c
Rollup merge of #52649 - estebank:fmt-span, r=oli-obk
...
Point spans to inner elements of format strings
- Point at missing positional specifiers in string literal
```
error: invalid reference to positional arguments 3, 4 and 5 (there are 3 arguments)
--> $DIR/ifmt-bad-arg.rs:34:38
|
LL | format!("{name} {value} {} {} {} {} {} {}", 0, name=1, value=2);
| ^^ ^^ ^^
|
= note: positional arguments are zero-based
```
- Point at named formatting specifier in string literal
```
error: there is no argument named `foo`
--> $DIR/ifmt-bad-arg.rs:37:17
|
LL | format!("{} {foo} {} {bar} {}", 1, 2, 3);
| ^^^^^
```
- Update label for formatting string in "multiple unused formatting arguments" to be more correct
```
error: multiple unused formatting arguments
--> $DIR/ifmt-bad-arg.rs:42:17
|
LL | format!("", 1, 2); //~ ERROR: multiple unused formatting arguments
| -- ^ ^
| |
| multiple missing formatting specifiers
```
- When using `printf` string formatting, provide a structured suggestion instead of a note
```
error: multiple unused formatting arguments
--> $DIR/format-foreign.rs:12:30
|
LL | println!("%.*3$s %s!/n", "Hello,", "World", 4); //~ ERROR multiple unused formatting arguments
| -------------- ^^^^^^^^ ^^^^^^^ ^
| |
| multiple missing formatting specifiers
|
= note: printf formatting not supported; see the documentation for `std::fmt`
help: format specifiers in Rust are written using `{}`
|
LL | println!("{:.2$} {}!/n", "Hello,", "World", 4); //~ ERROR multiple unused formatting arguments
| ^^^^^^ ^^
```
2018-07-26 09:18:30 -06:00
Esteban Küber
9a893cc2b8
Add span label for format str missing specifier
2018-07-24 20:46:22 -07:00
Esteban Küber
4d8aa5989c
Use suggestions for printf
format
2018-07-24 16:01:38 -07:00
Esteban Küber
f9e37625e6
Reword missing formatting arguments label
2018-07-24 09:51:04 -07:00
mark
10ee0f68a6
Allow by default, fix tests
2018-07-23 21:55:51 -05:00
mark
8eb4941e30
Implement 2015 vs 2018 ?
kleene op + test
2018-07-23 21:54:43 -05:00
Esteban Küber
c55a698943
Only point at inside of string literals if they're actually string literals
2018-07-23 15:41:32 -07:00
Esteban Küber
38abca8c2d
Point at internal span in format string
2018-07-22 23:09:00 -07:00
bors
3d51086303
Auto merge of #52394 - estebank:println, r=oli-obk
...
Improve suggestion for missing fmt str in println
Avoid using `concat!(fmt, "\n")` to improve the diagnostics being
emitted when the first `println!()` argument isn't a formatting string
literal.
Fix #52347 .
2018-07-22 06:52:48 +00:00
Esteban Küber
83a8af50bb
Suggest space separated format str literal
2018-07-21 12:16:06 -07:00
Matthew Jasper
a06b2433fc
Update tests for new NLL mutability errors
2018-07-20 20:01:15 +01:00
Esteban Küber
154dee2dcc
rework println
2018-07-19 23:18:07 -07:00
Esteban Küber
fbce952193
review comments: modify note wording and change println
...
- Don't print the newline on its own to avoid the possibility of
printing it out of order due to `stdout` locking.
- Modify wording of `concat!()` with non-literals to not mislead into
believing that only `&str` literals are accepted.
- Add test for `concat!()` with non-literals.
2018-07-19 23:18:07 -07:00
Esteban Küber
f53c145ef1
Improve suggestion for missing fmt str in println
...
Avoid using `concat!(fmt, "\n")` to improve the diagnostics being
emitted when the first `println!()` argument isn't a formatting string
literal.
2018-07-19 23:18:07 -07:00
csmoe
790c09e849
suggest on new snippet
2018-07-11 18:53:37 +08:00
csmoe
88f475c808
suggests with whole macro call
2018-07-06 22:31:55 +08:00
csmoe
b79a83b4e4
Suggestion for print
2018-07-03 20:39:17 +08:00
Felix S. Klock II
2d4df5b53e
NLL: Updates to diagnostic output in test/ui
.
2018-06-19 19:38:37 +02:00
Pietro Albini
1df7817122
Revert "Auto merge of #49719 - mark-i-m:no_sep, r=petrochenkov"
...
This reverts commit d6ba1b9b02
, reversing
changes made to 8de5353f75
.
2018-06-07 17:07:05 +02:00
Simon Sapin
b825477154
Remove the unstable Float trait
...
Following up to #49896 and #50629 . Fixes #32110 .
E0689 is weird.
2018-05-22 19:19:09 +02:00