1
Fork 0
Commit graph

15819 commits

Author SHA1 Message Date
Yiming Lei
9815667b8b implement #98982
when loop as tail expression for miss match type E0308 error, recursively get
the return statement and add diagnostic information on it
use rustc_hir::intravisit to collect the return expression
	modified:   compiler/rustc_typeck/src/check/coercion.rs
	new file:   src/test/ui/typeck/issue-98982.rs
	new file:   src/test/ui/typeck/issue-98982.stderr
2022-08-05 10:28:00 -07:00
Michael Goulet
694a010a5c move DiagnosticArgFromDisplay into rustc_errors 2022-08-05 16:44:01 +00:00
Michael Goulet
0ad57d8502 Delay formatting trimmed path until lint/error is emitted 2022-08-05 16:44:01 +00:00
Dylan DPC
e7ed8443ea
Rollup merge of #100168 - WaffleLapkin:improve_diagnostics_for_missing_type_in_a_const_item, r=compiler-errors
Improve diagnostics for `const a: = expr;`

Adds a suggestion to write a type when there is a colon, but the type is not present.
I've also shrunk spans a little, so the suggestions are a little nicer.

Resolves #100146

r? `@compiler-errors`
2022-08-05 21:54:37 +05:30
Dylan DPC
721af40dcb
Rollup merge of #100155 - compiler-errors:issue-100154, r=jackh726
Use `node_type_opt` to skip over generics that were not expected

Fixes #100154
2022-08-05 21:54:33 +05:30
Dylan DPC
9e4feff46a
Rollup merge of #99835 - TaKO8Ki:suggest-adding-or-removing-ref-for-binding-pattern, r=estebank
Suggest adding/removing `ref` for binding patterns

This fixes what a fixme comment says.

r? `@estebank`
2022-08-05 21:54:32 +05:30
Maybe Waffle
95bf0fb917 Move stability lookup after cross-crate check 2022-08-05 18:13:22 +04:00
bors
d77da9da84 Auto merge of #100073 - dpaoliello:externvar, r=michaelwoerister
Add test for raw-dylib with an external variable

All existing tests of link kind `raw-dylib` only validate the ability to link against functions, but it is also possible to link against variables.

This adds tests for linking against a variable using `raw-dylib` both by-name and by-ordinal.
2022-08-05 13:05:34 +00:00
Maybe Waffle
743ad07c4b Improve diagnostics for const a: = expr; 2022-08-05 16:19:28 +04:00
yukang
2b15fc6d9a recover require,include instead of use in item 2022-08-05 19:20:03 +08:00
bors
9bbbf60b04 Auto merge of #95977 - FabianWolff:issue-92790-dead-tuple, r=estebank
Warn about dead tuple struct fields

Continuation of #92972. Fixes #92790.

The language team has already commented on this in https://github.com/rust-lang/rust/pull/92972#issuecomment-1021511970; I have incorporated their requests here. Specifically, there is now a new allow-by-default `unused_tuple_struct_fields` lint (name bikesheddable), and fields of unit type are ignored (https://github.com/rust-lang/rust/pull/92972#issuecomment-1021815408), so error messages look like this:
```
error: field is never read: `1`
  --> $DIR/tuple-struct-field.rs:6:21
   |
LL | struct Wrapper(i32, [u8; LEN], String);
   |                     ^^^^^^^^^
   |
help: change the field to unit type to suppress this warning while preserving the field numbering
   |
LL | struct Wrapper(i32, (), String);
   |                     ~~
```
r? `@joshtriplett`
2022-08-05 09:32:26 +00:00
Takayuki Maeda
f6d42aa336 remove an unnecessary str::rfind 2022-08-05 18:14:15 +09:00
bors
cdfd675a63 Auto merge of #99867 - spastorino:refactor-remap-lifetimes, r=nikomatsakis
Split create_def and lowering of lifetimes for opaque types and bare async fns

r? `@cjgillot`

This work is kind of half-way, but I think it could be merged anyway.
I think we should be able to remove all the vacant arms in `new_named_lifetime_with_res`, if I'm not wrong that requires visiting more nodes. We can do that as a follow up.
In follow-up PRs, besides the thing mentioned previously, I'll be trying to remove `LifetimeCaptureContext`, `captured_lifetimes` as a global data structure, global `binders_to_ignore` and all their friends :).

Also try to remap in a more general way based on def-ids.
2022-08-05 06:35:12 +00:00
Michael Goulet
5bb50ddc83 opt node type 2022-08-04 22:43:39 +00:00
Matthias Krüger
c2d7321a2d
Rollup merge of #100148 - durin42:llvm-16-pointertype, r=nikic
RustWrapper: update for TypedPointerType in LLVM

This is a result of https://reviews.llvm.org/D130592.

r? `@nikic`
2022-08-04 22:25:06 +02:00
Matthias Krüger
01ccde5ec8
Rollup merge of #100095 - jackh726:early-binder, r=lcnr
More EarlyBinder cleanups

Each commit is independent

r? types
2022-08-04 22:25:04 +02:00
Matthias Krüger
6b938c8491
Rollup merge of #100093 - wcampbell0x2a:unused-parens-for-match-arms, r=petrochenkov
Enable unused_parens for match arms

Fixes: https://github.com/rust-lang/rust/issues/92751

Currently I can't get the `stderr` to work with `./x.py test`, but this should fix the issue. Help would be appreciated!
2022-08-04 22:25:02 +02:00
Matthias Krüger
d3aa757ff8
Rollup merge of #100058 - TaKO8Ki:suggest-positional-formatting-argument-instead-of-format-args-capture, r=estebank
Suggest a positional formatting argument instead of a captured argument

This patch fixes a part of #96999.

fixes #98241
fixes #97311

r? `@estebank`
2022-08-04 22:25:01 +02:00
Matthias Krüger
f6ea143f93
Rollup merge of #98796 - compiler-errors:no-semi-if-comma, r=estebank
Do not exclusively suggest `;` when `,` is also a choice

Fixes #96791
2022-08-04 22:24:59 +02:00
Daniel Paoliello
0a754b309c Add test for raw-dylib with an external variable 2022-08-04 12:47:13 -07:00
Santiago Pastorino
4170d7390b
Fix typo 2022-08-04 15:13:47 -03:00
Santiago Pastorino
065e497630
Improve opt_local_def_id docs 2022-08-04 15:13:44 -03:00
Santiago Pastorino
bf1c7da147
Improve record_def_id_remap docs 2022-08-04 12:47:19 -03:00
Santiago Pastorino
ece52451f6
Do not collect lifetimes with Infer resolution 2022-08-04 12:40:00 -03:00
Augie Fackler
cdbe956ec3 RustWrapper: update for TypedPointerType in LLVM
This is a result of https://reviews.llvm.org/D130592.
2022-08-04 11:31:57 -04:00
Santiago Pastorino
45991f9175
Use span_bug instead of panic 2022-08-04 12:07:03 -03:00
Santiago Pastorino
c0923c8934
Add docs to generics_def_id_map 2022-08-04 11:27:03 -03:00
Santiago Pastorino
5e71659983
Add docs to record_elided_anchor 2022-08-04 11:27:02 -03:00
Santiago Pastorino
f8b1b2bdfb
Extract record_elided_anchor 2022-08-04 11:27:02 -03:00
Santiago Pastorino
9f10f589a7
Move new_remapping inside with_hir_id_owner 2022-08-04 11:27:02 -03:00
Santiago Pastorino
1ece866cf1
Add documentation for create_lifetime_defs 2022-08-04 11:27:02 -03:00
Santiago Pastorino
2f353d1f72
Add more debug calls 2022-08-04 11:27:01 -03:00
Santiago Pastorino
cab67404a4
Add documentation about lifetime args 2022-08-04 11:27:01 -03:00
Santiago Pastorino
a3bfdc77a7
Add documentation about lifetime_defs 2022-08-04 11:27:01 -03:00
Santiago Pastorino
9c7de6fb3c
Move hir_bounds after lifetime_defs 2022-08-04 11:27:01 -03:00
Santiago Pastorino
3f7db370ef
captures -> collected_lifetimes 2022-08-04 11:27:00 -03:00
Santiago Pastorino
12fa3393a5
Move lifetimes_in_bounds call to outside with_hir_id_owner block in lower_async_fn_ret_ty 2022-08-04 11:27:00 -03:00
Santiago Pastorino
4b9b5838ac
Move lifetimes_in_bounds call to outside with_hir_id_owner block in lower_opaque_impl_trait 2022-08-04 11:27:00 -03:00
Santiago Pastorino
76b518fc83
Document what collected_lifetimes vec containts 2022-08-04 11:27:00 -03:00
Santiago Pastorino
d85720a083
Document lower_opaque_impl_trait 2022-08-04 11:26:59 -03:00
Santiago Pastorino
6289d0eb53
with_lifetime_binder is now lower_lifetime_binder and doesn't need a closure 2022-08-04 11:26:59 -03:00
Santiago Pastorino
11e00f502a
Add comments on with_remapping 2022-08-04 11:26:59 -03:00
Santiago Pastorino
c946cdceb4
Document opt_local_def_id 2022-08-04 11:26:59 -03:00
Santiago Pastorino
966269a464
Document generics_def_id_map field and record/get methods on it 2022-08-04 11:26:58 -03:00
Santiago Pastorino
78585098b5
Add comments about lifetime collect and create lifetime defs for RPITs 2022-08-04 11:26:58 -03:00
Santiago Pastorino
40bcbed3c7
Avoid explicitly handling res when is not needed 2022-08-04 11:26:58 -03:00
Santiago Pastorino
cd3c388418
create_and_capture_lifetime_defs -> create_lifetime_defs 2022-08-04 11:26:57 -03:00
Santiago Pastorino
13800624de
Remove captured_lifetimes and LifetimeCaptureContext and make create_lifetime_defs return the captures 2022-08-04 11:26:57 -03:00
Santiago Pastorino
1d6cebfd6b
Implement def_id based remapping 2022-08-04 11:26:57 -03:00
Santiago Pastorino
f0db1d68e6
Remove local_def_id from captured_lifetimes 2022-08-04 11:26:57 -03:00