Esteban Küber
08287c1e26
Toggle span highlighting on -Zteach
2018-01-29 08:59:15 -08:00
Manish Goregaokar
540f95d9fa
Add internal-only rustc_serialize_exclude_null attribute for making the field only exist in the json if the flag is passed
2018-01-29 11:41:03 +05:30
Manish Goregaokar
a53bdc6212
Add -Zapproximate-suggestions
2018-01-29 11:41:02 +05:30
Manish Goregaokar
937bc2e04a
Add approximate suggestions for rustfix
...
This adds `span_approximate_suggestion()` that lets you emit a
suggestion marked as "approximate" in the JSON output. UI
users see no difference. This is for when rustc and clippy wish to
emit suggestions which will make sense to the reader (e.g. they may
have placeholders like `<type>`) but are not source-applicable, so that
rustfix/etc can ignore these.
fixes #39254
2018-01-29 11:40:50 +05:30
bors
771873c841
Auto merge of #47800 - Pulkit07:issue47755, r=sfackler
...
don't mention tasks in stability warnings of #[thread_local] #47755
This is a fix for issue #47755 .
2018-01-28 16:17:18 +00:00
bors
7046a40623
Auto merge of #47767 - estebank:as-suggestion, r=petrochenkov
...
Correctly format `extern crate` conflict resolution help
Closes #45799 . Follow up to @Cldfire's #45820 .
If the `extern` statement that will have a suggestion ends on a `;`, synthesize a new span that doesn't include it.
2018-01-28 07:44:14 +00:00
Vadim Petrochenkov
f57ea7cb3d
Make + in impl/dyn Trait non-associative
2018-01-27 22:38:28 +03:00
Vadim Petrochenkov
95d27c3b79
syntax: Permit + in return types of function declarations
...
`+` is still disallowed in function types and function-like traits
2018-01-27 22:37:30 +03:00
Vadim Petrochenkov
873b77531c
syntax: Lower priority of + in impl Trait/dyn Trait
2018-01-27 22:37:30 +03:00
David Wood
0bd96671f0
Fixed infinite loop issues and added some improved logging.
2018-01-27 13:30:34 +00:00
David Wood
0c467d5d09
Now handling case where span has same lo and hi.
2018-01-27 11:46:29 +00:00
David Wood
be465b0b85
next_point now handles creating spans over multibyte characters.
2018-01-27 11:46:28 +00:00
David Wood
62356471b3
Replaced multi-byte character handling in end_point with potentially more performant variant.
2018-01-27 11:46:28 +00:00
David Wood
c71cec8834
end_point handling multibyte characters correctly.
2018-01-27 11:46:27 +00:00
Pulkit Goyal
5ce2b02997
don't mention tasks in stability warnings of #[thread_local] #47755
...
This is a fix for issue #47755 .
2018-01-27 13:28:09 +05:30
Esteban Küber
445e404ba4
Instead of modifying the item's span synthesize it
2018-01-26 15:06:09 -08:00
Esteban Küber
fa7767e1ea
review comment
2018-01-26 14:24:17 -08:00
Esteban Küber
d0bd090efb
Consider all whitespace when preparing span
2018-01-26 14:24:17 -08:00
Mark Mansi
e2d558ad56
A few more comments
2018-01-26 14:47:24 -06:00
Mark Mansi
02d1d92878
Still more comments
2018-01-26 14:47:24 -06:00
Mark Mansi
b01b481db3
Added/improved comments
2018-01-26 14:47:24 -06:00
Mark Mansi
6d4ed65585
Added lots of comments + minor reorganization
2018-01-26 14:47:24 -06:00
Mark Mansi
0d7f193dd3
Added a bunch of comments to macro_parser.rs
2018-01-26 14:47:24 -06:00
Mark Mansi
ac0c16d3b5
Run rustfmt on /libsyntax/ext/tt/macro_parser.rs
2018-01-26 14:47:24 -06:00
Alex Crichton
95942155da
Merge branch 'no-stderr-sink' of https://github.com/Zoxc/rust into rollup
2018-01-26 06:49:55 -08:00
Cldfire
c39ad4b145
Correctly format extern crate conflict resolution help
2018-01-25 22:36:48 -08:00
John Kåre Alsaker
9a8d6b8bb5
Do not capture stderr in the compiler. Instead just panic silently for fatal errors
2018-01-26 04:52:30 +01:00
Alex Crichton
98b375483c
Rollup merge of #47502 - petrochenkov:label, r=eddyb
...
AST/HIR: Add a separate structure for labels
2018-01-25 12:48:49 -06:00
bors
a0a9007f8d
Auto merge of #47006 - bitshifter:stabilize-repr-align, r=eddyb
...
Stabilized `#[repr(align(x))]` attribute (RFC 1358)
Stabilzed `#[repr(align(x))]` with attr_literal syntax as proposed by @eddyb https://github.com/rust-lang/rust/issues/33626#issuecomment-348467804
2018-01-25 00:26:17 +00:00
John Kåre Alsaker
ccf0d8399e
Adds support for immovable generators. Move checking of invalid borrows across suspension points to borrowck. Fixes #44197 , #45259 and #45093 .
2018-01-23 05:10:38 +01:00
Cameron Hart
651ea8ea44
Stabilized #[repr(align(x))] attribute (RFC 1358)
2018-01-23 08:36:13 +11:00
Vadim Petrochenkov
2d56abfbeb
AST/HIR: Add a separate structure for labels
2018-01-22 23:13:12 +03:00
bors
b887317da6
Auto merge of #47158 - rkruppe:repr-transparent, r=eddyb
...
Implement repr(transparent)
r? @eddyb for the functional changes. The bulk of the PR is error messages and docs, might be good to have a doc person look over those.
cc #43036
cc @nox
2018-01-22 08:10:41 +00:00
Guillaume Gomez
6bb1b0dd37
Rollup merge of #47247 - estebank:suggest-cast, r=petrochenkov
...
Suggest casting on numeric type error
Re #47168 .
2018-01-21 23:11:37 +01:00
Mark Mansi
ca0c080569
Fix typos
2018-01-21 16:03:47 -06:00
Mark Mansi
49431d4966
Add a bunch of doc comments
2018-01-19 16:39:54 -06:00
Mark Mansi
c4befe1710
Run rustfmt and add comments
2018-01-19 15:46:15 -06:00
kennytm
35bf7f844c
Rollup merge of #47481 - estebank:unused-args, r=arielb1
...
Point at unused arguments for format string
Avoid overlapping spans by only pointing at the arguments that are not
being used in the argument string. Enable libsyntax to have diagnostics
with multiple primary spans by accepting `Into<MultiSpan>` instead of
`Span`.
Partially addresses #41850 .
2018-01-18 01:57:25 +08:00
Robin Kruppe
2be697bc21
Implement repr(transparent)
2018-01-16 08:58:32 +01:00
Esteban Küber
a4660dfea2
Point at unused arguments for format string
...
Avoid overlapping spans by only pointing at the arguments that are not
being used in the argument string. Enable libsyntax to have diagnostics
with multiple primary spans by accepting `Into<MultiSpan>` instead of
`Span`.
2018-01-15 21:38:12 -08:00
Esteban Küber
71c08734a3
Move ExprPrecedence to libsyntax/util/parser.rs
2018-01-15 15:09:39 -08:00
Carol (Nichols || Goulding)
e168aa385b
Reexport -> re-export in prose and documentation comments
2018-01-15 13:36:53 -05:00
Carol (Nichols || Goulding)
90fcd4476c
Reexport -> re-export in error messages
2018-01-15 13:36:52 -05:00
Esteban Küber
afe8d13a66
Use single source of truth for expr precedence
...
Introduce a new unified type that holds the expression precedence for
both AST and HIR nodes.
2018-01-15 02:02:37 -08:00
Guillaume Gomez
c8a110ed63
Add error code for unstable feature errors
2018-01-15 10:28:00 +01:00
bors
3f92e8d898
Auto merge of #46455 - petrochenkov:pimpl, r=nikomatsakis
...
syntax: Rewrite parsing of impls
Properly parse impls for the never type `!`
Recover from missing `for` in `impl Trait for Type`
Prohibit inherent default impls and default impls of auto traits (https://github.com/rust-lang/rust/issues/37653#issuecomment-348687794 , https://github.com/rust-lang/rust/issues/37653#issuecomment-348688785 )
Change wording in more diagnostics to use "auto traits"
Fix some spans in diagnostics
Some other minor code cleanups in the parser
Disambiguate generics and qualified paths in impls (parse `impl <Type as Trait>::AssocTy { ... }`)
Replace the future-compatibility hack from https://github.com/rust-lang/rust/pull/38268 with actually parsing generic parameters
Add a test for https://github.com/rust-lang/rust/issues/46438
2018-01-14 16:56:15 +00:00
Vadim Petrochenkov
60c48dd16a
syntax: Disambiguate generics and qualified paths
2018-01-14 18:10:19 +03:00
Vadim Petrochenkov
d19e4c4a85
syntax: Rewrite parsing of impls
...
Properly parse impls for the never type `!`
Recover from missing `for` in `impl Trait for Type`
Prohibit inherent default impls and default impls of auto traits
Change wording in more diagnostics to use "auto traits"
Some minor code cleanups in the parser
2018-01-14 18:10:05 +03:00
bors
5d6f6e65ff
Auto merge of #47274 - Manishearth:rustdoc-span, r=QuietMisdreavus
...
Use correct line offsets for doctests
Not yet tested.
This doesn't handle char positions. It could if I collected a map of char offsets and lines, but this is a bit more work and requires hooking into the parser much more (unsure if it's possible).
r? @QuietMisdreavus
(fixes #45868 )
2018-01-14 11:28:27 +00:00
bors
cf4c3cbe55
Auto merge of #47416 - petrochenkov:remove-impl-for-dot-dot, r=petrochenkov
...
Remove `impl Foo for .. {}` in favor `auto trait Foo {}`
Rebase of https://github.com/rust-lang/rust/pull/46480 with restored parsing support.
2018-01-13 21:48:12 +00:00