Commit graph

7190 commits

Author SHA1 Message Date
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