summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2018-01-30Rollup merge of #47603 - mark-i-m:markim_comments_0000, r=jseyfriedkennytm-39/+173
Run rustfmt and add doc comments to libsyntax/ext/tt/quoted.rs I was already going to try to understand this code to try to implement rust-lang/rfcs#2298. I figured I would put that knowledge into comments and share... This PR contains _no changes_ to the code itself -- just formatting and comments. I'm not sure what the best way to do this is. I plan to make more such PR for other files, but I figured it would have fewer conflicts if I do it file by file...
2018-01-30Auto merge of #45294 - petrochenkov:prioplus, r=nikomatsakisbors-10/+25
syntax: Lower priority of `+` in `impl Trait`/`dyn Trait` Now you have to write `Fn() -> (impl A + B)` instead of `Fn() -> impl A + B`, this is consistent with priority of `+` in trait objects (`Fn() -> A + B` means `(Fn() -> A) + B`). To make this viable I changed the syntax to also permit `+` in return types in function declarations ``` fn f() -> dyn A + B { ... } // OK, don't have to write `-> (dyn A + B)` // This is acceptable, because `dyn A + B` here is an isolated type and // not part of a larger type with various operator priorities in play // like `dyn A + B` in `Fn() -> dyn A + B` despite syntax similarities. ``` but you still have to use `-> (dyn A + B)` in function types and function-like trait object types (see this PR's tests for examples). This can be a breaking change for code using `impl Trait` on nightly. The thing that is most likely to break is `&impl A + B`, it needs to be rewritten as `&(impl A + B)`. cc https://github.com/rust-lang/rust/issues/34511 https://github.com/rust-lang/rust/issues/44662 https://github.com/rust-lang/rfcs/pull/438
2018-01-29fix typosMark Mansi-4/+4
2018-01-29Update commentMark Mansi-1/+2
2018-01-29Toggle span highlighting on `-Zteach`Esteban Küber-1/+3
2018-01-29Add internal-only rustc_serialize_exclude_null attribute for making the ↵Manish Goregaokar-0/+8
field only exist in the json if the flag is passed
2018-01-29Add -Zapproximate-suggestionsManish Goregaokar-4/+18
2018-01-29Add approximate suggestions for rustfixManish Goregaokar-7/+11
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-28Auto merge of #47800 - Pulkit07:issue47755, r=sfacklerbors-3/+1
don't mention tasks in stability warnings of #[thread_local] #47755 This is a fix for issue #47755.
2018-01-28Auto merge of #47767 - estebank:as-suggestion, r=petrochenkovbors-0/+1
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-27Make `+` in `impl/dyn Trait` non-associativeVadim Petrochenkov-3/+19
2018-01-27syntax: Permit `+` in return types of function declarationsVadim Petrochenkov-6/+6
`+` is still disallowed in function types and function-like traits
2018-01-27syntax: Lower priority of `+` in `impl Trait`/`dyn Trait`Vadim Petrochenkov-4/+3
2018-01-27Fixed infinite loop issues and added some improved logging.David Wood-6/+20
2018-01-27Now handling case where span has same lo and hi.David Wood-1/+6
2018-01-27next_point now handles creating spans over multibyte characters.David Wood-5/+9
2018-01-27Replaced multi-byte character handling in end_point with potentially more ↵David Wood-23/+59
performant variant.
2018-01-27end_point handling multibyte characters correctly.David Wood-3/+42
2018-01-27don't mention tasks in stability warnings of #[thread_local] #47755Pulkit Goyal-3/+1
This is a fix for issue #47755.
2018-01-26Instead of modifying the item's span synthesize itEsteban Küber-2/+1
2018-01-26review commentEsteban Küber-6/+4
2018-01-26Consider all whitespace when preparing spanEsteban Küber-2/+26
2018-01-26A few more commentsMark Mansi-0/+8
2018-01-26Still more commentsMark Mansi-2/+26
2018-01-26Added/improved commentsMark Mansi-17/+61
2018-01-26Added lots of comments + minor reorganizationMark Mansi-34/+94
2018-01-26Added a bunch of comments to macro_parser.rsMark Mansi-10/+62
2018-01-26Run rustfmt on /libsyntax/ext/tt/macro_parser.rsMark Mansi-78/+114
2018-01-26Merge branch 'no-stderr-sink' of https://github.com/Zoxc/rust into rollupAlex Crichton-50/+50
2018-01-25Correctly format `extern crate` conflict resolution helpCldfire-1/+3
2018-01-26Do not capture stderr in the compiler. Instead just panic silently for fatal ↵John Kåre Alsaker-50/+50
errors
2018-01-25Rollup merge of #47502 - petrochenkov:label, r=eddybAlex Crichton-117/+108
AST/HIR: Add a separate structure for labels
2018-01-25Auto merge of #47006 - bitshifter:stabilize-repr-align, r=eddybbors-13/+17
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-23Adds support for immovable generators. Move checking of invalid borrows ↵John Kåre Alsaker-15/+62
across suspension points to borrowck. Fixes #44197, #45259 and #45093.
2018-01-23Stabilized `#[repr(align(x))]` attribute (RFC 1358)Cameron Hart-13/+17
2018-01-22AST/HIR: Add a separate structure for labelsVadim Petrochenkov-117/+108
2018-01-22Auto merge of #47158 - rkruppe:repr-transparent, r=eddybbors-1/+12
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-21Rollup merge of #47247 - estebank:suggest-cast, r=petrochenkovGuillaume Gomez-59/+171
Suggest casting on numeric type error Re #47168.
2018-01-21Fix typosMark Mansi-3/+3
2018-01-19Add a bunch of doc commentsMark Mansi-3/+72
2018-01-19Run rustfmt and add commentsMark Mansi-38/+103
2018-01-18Rollup merge of #47481 - estebank:unused-args, r=arielb1kennytm-29/+34
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-16Implement repr(transparent)Robin Kruppe-1/+12
2018-01-15Point at unused arguments for format stringEsteban Küber-29/+34
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-15Move `ExprPrecedence` to `libsyntax/util/parser.rs`Esteban Küber-135/+127
2018-01-15Reexport -> re-export in prose and documentation commentsCarol (Nichols || Goulding)-2/+2
2018-01-15Reexport -> re-export in error messagesCarol (Nichols || Goulding)-1/+1
2018-01-15Use single source of truth for expr precedenceEsteban Küber-62/+182
Introduce a new unified type that holds the expression precedence for both AST and HIR nodes.
2018-01-15Add error code for unstable feature errorsGuillaume Gomez-1/+36
2018-01-14Auto merge of #46455 - petrochenkov:pimpl, r=nikomatsakisbors-167/+156
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