Commit Graph

16078 Commits

Author SHA1 Message Date
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
Santiago Pastorino
2d826e27c4 Capture things as Lifetime object to simplify things 2022-08-04 11:26:57 -03:00
Santiago Pastorino
f6b4dd1541 Create new_mapping local structure and avoid checking def_ids on captures 2022-08-04 11:26:56 -03:00
Santiago Pastorino
6c6a81e48e Remove binders_to_ignore from LifetimeCaptureContext 2022-08-04 11:26:56 -03:00
Santiago Pastorino
95158fdf3a No need to store parent_def_id in LifetimeCaptureContext 2022-08-04 11:26:56 -03:00
Santiago Pastorino
552f6b0f81 No need to check binders to ignore on new_named_lifetime_with_res's LifetimeRes::Fresh 2022-08-04 11:26:56 -03:00
Santiago Pastorino
6041ed0775 No need to check binders to ignore on new_named_lifetime_with_res's LifetimeRes::Param 2022-08-04 11:26:55 -03:00
Santiago Pastorino
d9e6364755 new_named_lifetime_with_res's LifetimeRes::Fresh should have created def_id already 2022-08-04 11:26:55 -03:00