about summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2018-01-30Auto merge of #47870 - kennytm:rollup, r=kennytmbors-165/+524
Rollup of 12 pull requests - Successful merges: #47515, #47603, #47718, #47732, #47760, #47780, #47822, #47826, #47836, #47839, #47853, #47855 - Failed merges:
2018-01-30Rollup merge of #47732 - mark-i-m:markim_comments_0001, r=jseyfriedkennytm-126/+351
Run rustfmt and add doc comments to libsyntax/ext/tt/macro_parser.rs Similar to #47603 cc @theotherphil since you reviewed my other PR :smile: And because they are already assigned on #47603: r? @arielb1
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-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-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
2018-01-14syntax: Disambiguate generics and qualified pathsVadim Petrochenkov-15/+33
2018-01-14syntax: Rewrite parsing of implsVadim Petrochenkov-154/+125
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-14Auto merge of #47274 - Manishearth:rustdoc-span, r=QuietMisdreavusbors-1/+35
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-13Auto merge of #47416 - petrochenkov:remove-impl-for-dot-dot, r=petrochenkovbors-80/+39
Remove `impl Foo for .. {}` in favor `auto trait Foo {}` Rebase of https://github.com/rust-lang/rust/pull/46480 with restored parsing support.