Mazdak Farrokhzad
d154bef4d3
parser: avoid re-wrapping NtItem
2020-02-02 13:55:45 +01:00
Mazdak Farrokhzad
71a6f58229
parser: address review comments re. self
.
2020-02-02 13:32:37 +01:00
Jonas Schievink
9fa46fe153
Teach dropck about resume arguments
2020-02-02 13:20:58 +01:00
Jonas Schievink
aae0f543cf
No resume argument in the drop shim
2020-02-02 13:20:58 +01:00
Jonas Schievink
3bb8ecb512
Adjust mir-opt tests to new yield
lowering
2020-02-02 13:20:58 +01:00
Jonas Schievink
7a9709b08a
Fix bootstrap rustc build
2020-02-02 13:20:58 +01:00
Jonas Schievink
4ee857c4c3
Add test for E0628 (too many generator parameters)
2020-02-02 13:20:57 +01:00
Jonas Schievink
fca614eb57
Add tests for generator resume arguments
2020-02-02 13:20:57 +01:00
Jonas Schievink
5b2059b257
Fix error message on type mismatch in generator
...
Instead of "closure is expected to take 0 arguments"
we now get the expected type mismatch error.
2020-02-02 13:20:57 +01:00
Jonas Schievink
3c22e51e7f
Make generator transform move resume arg around
...
The resume arg is passed as argument `_2` and needs to be moved to the
`Yield`s target `Place`
2020-02-02 13:20:57 +01:00
Jonas Schievink
3c069a066e
Change MIR building to fill in the resume place
...
This changes `Yield` from `as_rvalue` to `into` lowering, which could
have a possible performance impact. I could imagine special-casing
some resume types here to use a simpler lowering for them, but it's
unclear if that makes sense at this stage.
2020-02-02 13:20:57 +01:00
Jonas Schievink
f2c1468965
Add resume arg place to Yield
MIR terminator
2020-02-02 13:20:57 +01:00
Jonas Schievink
2101a1fec0
Adjust tests to type inference changes
...
This makes some error messages ungreat, but those seem to be preexisting
bugs that also apply to closures / return position `impl Trait` in
general.
2020-02-02 13:20:57 +01:00
Jonas Schievink
32005fe195
Allow 0 or 1 explicit generator parameters
2020-02-02 13:20:57 +01:00
Jonas Schievink
8a1227a67b
Infer type of yield
to be resume type
2020-02-02 13:20:57 +01:00
Jonas Schievink
25af2f66ce
Use real resume type as second argument
2020-02-02 13:20:57 +01:00
Jonas Schievink
0117033c72
Add a resume type param to the generator substs
...
...and unify it with `()` for now
2020-02-02 13:20:57 +01:00
Jonas Schievink
044fe0f558
Add a resume type parameter to Generator
2020-02-02 13:20:57 +01:00
Matthew Jasper
a606ffdb17
Avoid exponential behaviour when relating types
2020-02-02 12:10:08 +00:00
Yuki Okushi
56ad8bcfe0
Do not suggest duplicate bounds
2020-02-02 18:38:23 +09:00
Mazdak Farrokhzad
8674efdb7c
parser: move restrictions re. self
to ast_validation
.
2020-02-02 10:33:55 +01:00
bors
cef6894572
Auto merge of #68737 - Centril:fix-68710, r=petrochenkov
...
pretty: print attrs in struct expr
Fixes https://github.com/rust-lang/rust/issues/68710 by printing the attributes on struct expression fields.
r? @petrochenkov
cc @dtolnay
2020-02-02 09:19:40 +00:00
Mazdak Farrokhzad
00f0b0cd3a
pretty: print attrs in struct expr
2020-02-02 09:25:54 +01:00
Friedrich von Never
b0a9e949e7
Strip unnecessary subexpression
...
It became unnecessary since a06baa56b9
reformatted the file.
2020-02-02 15:08:46 +07:00
Tyler Lanphear
f6c3894724
compiletest: error if compile-fail
header in ui test.
2020-02-02 02:08:30 -05:00
bors
0cbcb17d33
Auto merge of #68754 - JohnTitor:clippy-up, r=JohnTitor
...
Update Clippy
Fixes #68745
r? @ghost
2020-02-02 06:09:00 +00:00
Tyler Lanphear
9fa54e594b
stdarch: update submodule.
2020-02-01 22:04:18 -05:00
bors
bc4a339064
Auto merge of #68672 - jonas-schievink:dedup-witness, r=Zoxc
...
Deduplicate types in the generator witness
For the `await-call-tree` benchmark this often reduces the types inside the witness from 12 to 2.
2020-02-02 03:02:41 +00:00
David Ross
410114b9d2
Add tests for issue 59191
2020-02-01 18:59:11 -08:00
David Ross
276734d6a4
Fix 59191
...
This adds an explicit error for when macros replace the crate root with
a non-module item.
2020-02-01 18:58:40 -08:00
Yuki Okushi
c377ed606c
Fix ICE with save-analysis
2020-02-02 09:23:47 +09:00
Yuki Okushi
ae22bf9d42
Catch more ICEs
2020-02-02 09:02:54 +09:00
Yuki Okushi
632d75e057
Update Clippy
2020-02-02 08:38:28 +09:00
bors
e5b150edaf
Auto merge of #68752 - JohnTitor:rollup-zz3u4xl, r=JohnTitor
...
Rollup of 7 pull requests
Successful merges:
- #68460 (Use BufWriter for emitting MIR)
- #68681 (Suggest path separator for single-colon typos)
- #68688 ([docs] remind bug reporters to update nightly)
- #68704 (Ignore `build` dir formatting)
- #68727 (Remove a comment about pretty printer in formatting tests)
- #68736 (Remove `Alloc` in favor of `AllocRef`)
- #68740 (Do not suggest things named underscore)
Failed merges:
r? @ghost
2020-02-01 23:31:51 +00:00
Yuki Okushi
87bb0c4389
Rollup merge of #68740 - JohnTitor:do-not-sugg-underscore, r=Centril
...
Do not suggest things named underscore
Fixes #68719
r? @estebank
2020-02-02 08:30:21 +09:00
Yuki Okushi
c7332abee2
Rollup merge of #68736 - TimDiekmann:remove-alloc, r=Amanieu
...
Remove `Alloc` in favor of `AllocRef`
`AllocRef` was reexported as `Alloc` in #68529 in order to not break toolstate in the week before the next stable release.
r? @Amanieu
2020-02-02 08:30:19 +09:00
Yuki Okushi
1529126411
Rollup merge of #68727 - xfix:remove-comment-about-pretty-printer-in-format-tests, r=jonas-schievink
...
Remove a comment about pretty printer in formatting tests
rustc is now using rustfmt, not the old formatter.
2020-02-02 08:30:18 +09:00
Yuki Okushi
44dc4c2617
Rollup merge of #68704 - jonas-schievink:ignore-build-fmt, r=Mark-Simulacrum
...
Ignore `build` dir formatting
I've noticed that rustfmt tries to parse and check the formatting of code in `build` if `.git` is missing (which includes test artifacts and generated code). This should fix that.
2020-02-02 08:30:16 +09:00
Yuki Okushi
518ed67ab1
Rollup merge of #68688 - jbr:remind-bug-reporters-to-update-if-on-nightly, r=centril
...
[docs] remind bug reporters to update nightly
Hi and thanks for rust! Today I reported a bug in nightly that was already fixed, so I thought other potential bug reporters might appreciate a reminder to update before reporting. I wasn't sure if this would apply for other channels as well.
2020-02-02 08:30:15 +09:00
Yuki Okushi
b18b26924c
Rollup merge of #68681 - bobrippling:fix-matched-angle-brackets, r=Centril
...
Suggest path separator for single-colon typos
This commit adds guidance for when a user means to type a path, but ends
up typing a single colon, such as `<<Impl as T>:Ty>`.
This change seemed pertinent as the current error message is
particularly misleading, emitting `error: unmatched angle bracket`,
despite the angle bracket being matched later on, leaving the user to
track down the typo'd colon.
2020-02-02 08:30:11 +09:00
Yuki Okushi
bf68a057b3
Rollup merge of #68460 - sinkuu:emit_mir_buffered, r=Mark-Simulacrum
...
Use BufWriter for emitting MIR
I noticed that `--emit=mir` takes long time on a large crate. https://github.com/rust-lang/rust/pull/64344 seem to have fixed `-Zdump-mir`, but not `--emit=mir`.
2020-02-02 08:30:09 +09:00
Dan Robertson
0b1ff27cd8
Basic run-pass tests for or-patterns
...
Add some basic run-pass ui tests for or-patterns.
2020-02-01 22:10:58 +00:00
Matthew Jasper
30058df867
Update existing tests for or-patterns
2020-02-01 22:10:58 +00:00
Matthew Jasper
a20969c489
Implement general or-patterns in let
statements
2020-02-01 22:10:43 +00:00
Matthew Jasper
5cc4352bc4
Implement general or-patterns in match
expressions
2020-02-01 22:10:03 +00:00
Matthew Jasper
64eab7750b
Don't create unnecessary block
2020-02-01 22:08:35 +00:00
Matthew Jasper
eecee76652
Generate prebinding blocks lazily
2020-02-01 22:08:35 +00:00
Matthew Jasper
425e494fce
Remove or_patterns from INCOMPLETE_FEATURES
2020-02-01 22:07:11 +00:00
Yuki Okushi
9d8058fb42
Do not ICE in type-alias-impl-trait
with save-analysis
2020-02-02 06:39:50 +09:00
Yuki Okushi
726568bd1b
Do not suggest things named underscore
2020-02-02 04:55:37 +09:00