varkor
e121d9671a
Use precise span for must_use tuple components
2019-06-03 18:19:29 +01:00
varkor
fd36b5fd52
Add test for #[must_use] in tuples
2019-06-03 18:19:29 +01:00
Matthew Jasper
794239d9a4
Don't canonicalize 'static in normalize
2019-06-03 15:04:40 +01:00
Matthew Jasper
8ffa408059
Update tests for changes to cannot move errors
2019-06-03 14:55:29 +01:00
David Wood
5e3b41e0cb
rustc: remove HirId from ArgSource::AsyncFn
...
This commit removes the `HirId` from `ArgSource::AsyncFn`, relying on
the fact that only `simple_ident` is used in each of the locations that
previously took the original pattern from the `ArgSource::AsyncFn`.
2019-06-03 14:02:21 +01:00
Matthew Jasper
2751b867a7
Don't try to lower ReEmpty in NLL
2019-06-03 13:46:38 +01:00
David Wood
1e5f496143
rustc: async fn drop order lowering in HIR
...
This commit re-implements the async fn drop order lowering changes so
that it all takes place in HIR lowering, building atop the work done by
`@eddyb` to refactor `Res::Upvar`.
Previously, this types involved in the lowering were constructed in
libsyntax as they had to be used during name resolution and HIR
lowering. This was awful because none of that logic should have existed
in libsyntax.
This commit also changes `ArgSource` to keep a `HirId` to the original
argument pattern rather than a cloned copy of the pattern.
2019-06-03 10:20:35 +01:00
varkor
2b27c6235b
Allow true and false in const generic arguments
2019-06-03 09:59:45 +01:00
bors
c57ed9d947
Auto merge of #61331 - estebank:fn-arg-parse-recovery, r=varkor
...
Recover gracefully from argument with missing type or param name
2019-06-03 05:40:53 +00:00
bors
d59dcb261e
Auto merge of #61361 - estebank:infer-type, r=varkor
...
Add more detail to type inference error
When encountering code where type inference fails, add more actionable
information:
```
fn main() {
let foo = Vec::new();
}
```
```
error[E0282]: type annotations needed in `std::vec::Vec<T>`
--> $DIR/vector-no-ann.rs:2:16
|
LL | let foo = Vec::new();
| --- ^^^^^^^^ cannot infer type for `T` in `std::vec::Vec<T>`
| |
| consider giving `foo` a type
```
Fix #25633 .
2019-06-03 02:45:35 +00:00
Chris Gregory
fea2cdb0a4
Use a type implementing Drop
2019-06-02 19:11:39 -07:00
bors
d461555e44
Auto merge of #61460 - Centril:rollup-8txhjx4, r=Centril
...
Rollup of 6 pull requests
Successful merges:
- #61380 (Fix some issues with `unwrap_usize` instead of `assert_usize`)
- #61423 (codegen: change `$6d$` to `$u6d$`)
- #61438 (Point at individual type args on arg count mismatch)
- #61441 (Tweak wording when encountering `fn` call in pattern)
- #61451 (Fix missing semicolon in doc)
- #61458 (Fix typo in AsRef doc)
Failed merges:
r? @ghost
2019-06-02 14:42:11 +00:00
Mazdak Farrokhzad
247e0a688d
Rollup merge of #61441 - estebank:fn-call-in-match, r=varkor
...
Tweak wording when encountering `fn` call in pattern
Fix #60642
2019-06-02 15:23:50 +02:00
Mazdak Farrokhzad
83b74f2aad
Rollup merge of #61438 - estebank:generics-span, r=varkor
...
Point at individual type args on arg count mismatch
- Point at individual type arguments on arg count mismatch
- Make generics always have a valid span, even when there are no args
- Explain that `impl Trait` introduces an implicit type argument
Fix #55991 .
2019-06-02 15:23:49 +02:00
Mazdak Farrokhzad
5599985caa
Rollup merge of #61423 - davidtwco:correct-symbol-mangling, r=eddyb
...
codegen: change `$6d$` to `$u6d$`
This changes a mistake introduced in #61195 where the mangling
workaround used was incorrect, resolving [this comment](https://github.com/rust-lang/rust/pull/61195#discussion_r289597707 ) from @eddyb.
r? @eddyb
2019-06-02 15:23:47 +02:00
Mazdak Farrokhzad
c748c7b3fe
Rollup merge of #61380 - varkor:expected-usize-got-param, r=eddyb
...
Fix some issues with `unwrap_usize` instead of `assert_usize`
Fixes https://github.com/rust-lang/rust/issues/61337 .
Fixes https://github.com/rust-lang/rust/issues/61341 .
Fixes https://github.com/rust-lang/rust/issues/61422 .
r? @eddyb
2019-06-02 15:23:46 +02:00
Esteban Küber
eb73b73b8d
Suggest using as_ref on *const T
2019-06-01 19:49:20 -07:00
varkor
e82cd9528c
Add regression test for #61422
2019-06-02 01:55:46 +01:00
varkor
5a2410a07c
Add error for pattern-matching on arrays without a fixed size
2019-06-02 01:55:46 +01:00
varkor
c2b663c666
Fix unwrapping usize issue with transparent MaybeUnit array wrapper
2019-06-02 01:50:06 +01:00
Chris Gregory
7feeaf0d27
Add test
2019-06-01 19:14:09 -05:00
Esteban Küber
3d0eae18c6
Tweak wording when encountering fn call in pattern
2019-06-01 16:27:35 -07:00
Esteban Küber
e420f4410b
Account for cases where we can find the type arg name, but the local name is _
2019-06-01 15:33:31 -07:00
Esteban Küber
9616b333b2
review comment: tweak wording
2019-06-01 14:47:15 -07:00
Esteban Küber
0754c84611
Explain that impl Trait introduces an implicit type argument
2019-06-01 11:35:54 -07:00
Eduard-Mihai Burtescu
f7a4c9d7b5
rustc: collect upvars from HIR, instead of during name resolution.
2019-06-01 20:44:05 +03:00
Esteban Küber
28859472f7
Point at individual type arguments on arg count mismatch
2019-06-01 10:35:31 -07:00
David Wood
e71f4665f6
codegen: change $6d$ to $u6d$
...
This changes a mistake introduced in #61195 where the mangling
workaround used was incorrect.
2019-06-01 11:37:11 +01:00
Esteban Küber
8e595f5610
Make generics always have a valid span
2019-05-31 22:19:30 -07:00
Mazdak Farrokhzad
23de376572
Rollup merge of #61403 - estebank:test-cleanup, r=petrochenkov
...
Remove unnecessary `-Z continue-parse-after-error` from tests
r? @petrochenkov
2019-06-01 06:50:10 +02:00
Mazdak Farrokhzad
7d3a0dd2fb
Rollup merge of #61364 - lzutao:stabilize-reverse_bits, r=Centril
...
Stabilize reverse_bits feature
FCP done in https://github.com/rust-lang/rust/issues/48763#issuecomment-497349379
Closes #48763
r? @Centril
2019-06-01 06:50:03 +02:00
Esteban Küber
ebbe725dd0
Tweak wording
2019-05-31 20:48:09 -07:00
Esteban Küber
74fb3bbee4
On type inference errors use the type argument name when possible
...
```
error[E0282]: type annotations needed in `std::result::Result<i32, E>`
--> file7.rs:3:13
|
3 | let b = Ok(4);
| - ^^ cannot infer type for `E` in `std::result::Result<i32, E>`
| |
| consider giving `b` a type`
```
2019-05-31 18:33:59 -07:00
Esteban Küber
65c2a7b18b
Alternative wording for inference failure
2019-05-31 18:33:59 -07:00
Esteban Küber
8bb094dac5
Add more detail to type inference error
...
When encountering code where type inference fails, add more actionable
information:
```
fn main() {
let foo = Vec::new();
}
```
```
error[E0282]: type annotations needed for `std::vec::Vec<_>`
--> $DIR/vector-no-ann.rs:2:16
|
LL | let foo = Vec::new();
| --- ^^^^^^^^ cannot infer type for `T`
| |
| consider giving `foo` the type `std::vec::Vec<_>` with the type parameter `T` specified
```
We still need to modify type printing to optionally accept a
`TypeVariableTable` in order to properly print `std::vec::Vec<T>`.
CC #25633 .
2019-05-31 18:33:59 -07:00
bors
84f729d0d4
Auto merge of #61394 - pietroalbini:rollup-lzugnb4, r=pietroalbini
...
Rollup of 11 pull requests
Successful merges:
- #60897 (error: remove StringError from Debug output)
- #61304 (Speed up Azure CI installing Windows dependencies)
- #61319 (Swap order of `unsafe async fn` to `async unsafe fn`)
- #61342 (Set ellipsis_inclusive_range_patterns lint to warn)
- #61344 (Add regression test for const generics ICE)
- #61359 (Fix links in Deref documentation)
- #61363 (Stabilize iter_nth_back feature)
- #61369 (Fixed lifetime misspelling)
- #61372 (Migrate some books to mdbook version 0.2)
- #61374 (Explicitly suggest 'type_ascription' feature)
- #61382 (Fixed a typo in core::convert::AsMut)
Failed merges:
r? @ghost
2019-06-01 00:57:37 +00:00
Esteban Küber
d6ea6b972d
fix tidy
2019-05-31 13:50:04 -07:00
varkor
5e3ff4c2f1
Add test for condition in trait const param
2019-05-31 20:49:19 +01:00
Eduard-Mihai Burtescu
3652ea4594
test: add a more complex symbol-name testcase.
2019-05-31 19:24:15 +03:00
Eduard-Mihai Burtescu
5fd3e89d70
test: support both (legacy and v0) choices of mangling.
2019-05-31 18:24:53 +03:00
Eduard-Mihai Burtescu
654d0596d3
rustc_codegen_utils: test demangler output, not just symbol names.
2019-05-31 18:23:03 +03:00
Pietro Albini
e36b90752c
Rollup merge of #61374 - VirrageS:master, r=Centril
...
Explicitly suggest 'type_ascription' feature
Closes : #61325
r? @estebank
2019-05-31 13:34:07 +02:00
Pietro Albini
2106d57c35
Rollup merge of #61344 - varkor:const-failed-to-life-ice, r=Centril
...
Add regression test for const generics ICE
Closes https://github.com/rust-lang/rust/issues/60879 .
2019-05-31 13:33:58 +02:00
Pietro Albini
860deae4c6
Rollup merge of #61342 - memoryruins:ellipsis_inclusive_range_patterns, r=Centril
...
Set ellipsis_inclusive_range_patterns lint to warn
Continuing #54910 , the `ellipsis_inclusive_range_patterns` lint is set to warn.
r? @Centril
2019-05-31 13:33:57 +02:00
Lzu Tao
1c26bbf628
Stabilize reverse_bits feature
2019-05-31 04:43:53 +00:00
Esteban Küber
860dce794c
Remove unecessary -Z continue-parse-after-error from tests
2019-05-30 18:57:17 -07:00
Esteban Küber
b3ac88ad92
Recover gracefully from argument with missing type or param name
2019-05-30 17:59:05 -07:00
varkor
7e92607f5a
Fix unwrapping usize issue in HasMutInterior
2019-05-31 01:19:59 +01:00
Mazdak Farrokhzad
2ebfbb4fab
Parse 'async unsafe fn' instead of 'unsafe async fn'.
2019-05-31 00:53:10 +02:00
Janusz Marcinkiewicz
4c5eb8ecfc
Explicitly suggest 'type_ascription' feature
2019-05-30 22:44:39 +02:00