211024 Commits

Author SHA1 Message Date
David Tolnay
a9e92be1f9
Bump ptr_to_from_bits deprecation to Rust 1.67 2022-11-21 15:10:59 -08:00
Matthias Krüger
04e8ebe3f2
Rollup merge of #104692 - chbaker0:libtest-cfg-if, r=thomcc
Update test's cfg-if dependency to 1.0

This change was mistakenly left out of #103367

Finishes #103365
2022-11-22 00:01:12 +01:00
Matthias Krüger
816a31fc66
Rollup merge of #104674 - spastorino:negative-impl-tcx, r=lcnr
Make negative_impl and negative_impl_exists take the right types

r? `@lcnr`
2022-11-22 00:01:12 +01:00
Matthias Krüger
96d0b7f159
Rollup merge of #104666 - GuillaumeGomez:migrate-alias-search-result, r=notriddle
Migrate alias search result to CSS variables

r? `@notriddle`
2022-11-22 00:01:11 +01:00
Matthias Krüger
78cbe9ce84
Rollup merge of #104663 - notriddle:notriddle/button-cursor, r=GuillaumeGomez
rustdoc: factor out common button CSS
2022-11-22 00:01:11 +01:00
Matthias Krüger
9cefd9dd29
Rollup merge of #104657 - hi-rustin:rustin-patch-check-transmute, r=compiler-errors
Do not check transmute if has non region infer

close https://github.com/rust-lang/rust/issues/104609

See: https://github.com/rust-lang/rust/issues/104609#issuecomment-1320956351

r? `@compiler-errors`
2022-11-22 00:01:10 +01:00
Matthias Krüger
89be53d596
Rollup merge of #104656 - c410-f3r:moar-errors, r=petrochenkov
Move tests

r? `@petrochenkov`
2022-11-22 00:01:10 +01:00
Matthias Krüger
118ee14dd1
Rollup merge of #104597 - compiler-errors:need_migrate_deref_output_trait_object-msg, r=eholk
Probe + better error messsage for `need_migrate_deref_output_trait_object`

1. Use `InferCtxt::probe` in `need_migrate_deref_output_trait_object` -- that normalization *could* technically do type inference as a side-effect, and this is a lint, so it should have no side-effects.
2. Return the trait-ref so we format the error message correctly. See the UI test change -- `(dyn A + 'static)` is not a trait.
2022-11-22 00:01:09 +01:00
Matthias Krüger
589d843bd0
Rollup merge of #104559 - nnethercote:split-MacArgs, r=petrochenkov
Split `MacArgs` in two.

`MacArgs` is an enum with three variants: `Empty`, `Delimited`, and `Eq`. It's used in two ways:
- For representing attribute macro arguments (e.g. in `AttrItem`), where all three variants are used.
- For representing function-like macros (e.g. in `MacCall` and `MacroDef`), where only the `Delimited` variant is used.

In other words, `MacArgs` is used in two quite different places due to them having partial overlap. I find this makes the code hard to read. It also leads to various unreachable code paths, and allows invalid values (such as accidentally using `MacArgs::Empty` in a `MacCall`).

This commit splits `MacArgs` in two:
- `DelimArgs` is a new struct just for the "delimited arguments" case. It is now used in `MacCall` and `MacroDef`.
- `AttrArgs` is a renaming of the old `MacArgs` enum for the attribute macro case. Its `Delimited` variant now contains a `DelimArgs`.

Various other related things are renamed as well.

These changes make the code clearer, avoids several unreachable paths, and disallows the invalid values.

r? `@petrochenkov`
2022-11-22 00:01:09 +01:00
Matthias Krüger
ba135ee568
Rollup merge of #104557 - eholk:dyn-star-in-traits, r=compiler-errors
Add a test case for async dyn* traits

This adds a test case that approximates async functions in dyn traits using `dyn*`. The purpose is to have an example of where we are with `dyn*` and the goal of using it for dyn traits.

Issue #102425

r? `@compiler-errors`
2022-11-22 00:01:08 +01:00
Matthias Krüger
7a3eca690f
Rollup merge of #104416 - clubby789:fix-104414, r=eholk
Fix using `include_bytes` in pattern position

Fix #104414
2022-11-22 00:01:07 +01:00
Matthias Krüger
3278dea67a
Rollup merge of #103396 - RalfJung:pinning-closure-captures, r=dtolnay
Pin::new_unchecked: discuss pinning closure captures

Regardless of how the discussion in https://github.com/rust-lang/rust/pull/102737 turns out, pinning closure captures is super subtle business and probably worth discussing separately.
2022-11-22 00:01:06 +01:00
Nicholas Nethercote
3e3a4192d8 Split MacArgs in two.
`MacArgs` is an enum with three variants: `Empty`, `Delimited`, and `Eq`. It's
used in two ways:
- For representing attribute macro arguments (e.g. in `AttrItem`), where all
  three variants are used.
- For representing function-like macros (e.g. in `MacCall` and `MacroDef`),
  where only the `Delimited` variant is used.

In other words, `MacArgs` is used in two quite different places due to them
having partial overlap. I find this makes the code hard to read. It also leads
to various unreachable code paths, and allows invalid values (such as
accidentally using `MacArgs::Empty` in a `MacCall`).

This commit splits `MacArgs` in two:
- `DelimArgs` is a new struct just for the "delimited arguments" case. It is
  now used in `MacCall` and `MacroDef`.
- `AttrArgs` is a renaming of the old `MacArgs` enum for the attribute macro
  case. Its `Delimited` variant now contains a `DelimArgs`.

Various other related things are renamed as well.

These changes make the code clearer, avoids several unreachable paths, and
disallows the invalid values.
2022-11-22 09:04:15 +11:00
bors
28a53cdb46 Auto merge of #104533 - oli-obk:method_callee, r=lcnr
Clean up and harden various methods around trait substs

r? `@lcnr`
2022-11-21 21:51:00 +00:00
Collin Baker
426296ecc3 Update test's cfg-if dependency to 1.0
This change was mistakenly left out of #103367
2022-11-21 16:43:34 -05:00
Oli Scherer
c2ecd8f1f6 merge self type and substs in trait_method 2022-11-21 20:41:17 +00:00
Oli Scherer
a6c5212f13 Simplify one more TraitRef::new site 2022-11-21 20:40:56 +00:00
Oli Scherer
5316378e55 Simplify test
Co-authored-by: lcnr <rust@lcnr.de>
2022-11-21 20:40:42 +00:00
Oli Scherer
24cdb72445 Use as_closure helper method
Co-authored-by: lcnr <rust@lcnr.de>
2022-11-21 20:40:26 +00:00
Oli Scherer
7658e0fccf Stop passing the self-type as a separate argument. 2022-11-21 20:39:46 +00:00
Oli Scherer
a4da3f8863 Fix clippy's missing substs 2022-11-21 20:39:29 +00:00
Oli Scherer
472444bc64 Remove some unnecessary slicing 2022-11-21 20:38:55 +00:00
Oli Scherer
48ea298abf Remove a redundant assert 2022-11-21 20:36:35 +00:00
Oli Scherer
4d9451b1d1 Fix an ICE that I just made worse 2022-11-21 20:36:15 +00:00
Oli Scherer
a9f3c2209c For lcnr 2022-11-21 20:35:50 +00:00
Oli Scherer
ad57f88d3f Add helper to create the trait ref for a lang item 2022-11-21 20:35:17 +00:00
Oli Scherer
25c4760b5d Some cleanup around trait_method lookup 2022-11-21 20:34:56 +00:00
Oli Scherer
9e4c3f41c1 Use iterators instead of slices at more sites 2022-11-21 20:34:28 +00:00
Oli Scherer
ec8d01fdcc Allow iterators instead of requiring slices that will get turned into iterators 2022-11-21 20:33:55 +00:00
Oli Scherer
bd40c10751 Remove an unnecessary query + subst round 2022-11-21 20:33:23 +00:00
Oli Scherer
19a1192d42 Add a helper for replacing the self type in trait refs 2022-11-21 20:32:41 +00:00
Oli Scherer
6f77c97b38 Assert that various types have the right amount of generic args and fix the sites that used the wrong amount 2022-11-21 20:31:59 +00:00
Oli Scherer
d9a02b0fb7 Split out the actual predicate solving code into a separate function 2022-11-21 20:31:34 +00:00
Oli Scherer
48ff6a95b5 Use ty::List instead of InternalSubsts 2022-11-21 20:31:11 +00:00
Oli Scherer
250dcf421a Check that type_implements_trait actually is passed the right amount of generic params 2022-11-21 20:30:45 +00:00
Oli Scherer
0c47deed9f Reduce the amount of passed-around arguments that will get merged into one later anyway 2022-11-21 20:28:48 +00:00
Philipp Krones
242280252d
Clippy: Don't import GenericParamDefKind 2022-11-21 21:05:06 +01:00
Philipp Krones
b4c90abb5f
Fix declare_clippy_lint crate 2022-11-21 20:52:12 +01:00
Philipp Krones
d407778c75
Update Cargo.lock 2022-11-21 20:52:06 +01:00
Philipp Krones
ddf055ad07
Merge commit 'f4850f7292efa33759b4f7f9b7621268979e9914' into clippyup 2022-11-21 20:51:52 +01:00
Vadim Petrochenkov
7a5376d23c Unreserve braced enum variants in value namespace 2022-11-21 22:40:06 +03:00
bors
f4850f7292 Auto merge of #9881 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

It took >4 weeks, but I finally got to do the sync 🎉

changelog: none
2022-11-21 19:16:14 +00:00
Philipp Krones
05b914a92b
Fix custom ICE message test on windows 2022-11-21 20:15:50 +01:00
ozkanonur
5907e9155e
pass clippy sysroot env if given r=ozkanonur
Signed-off-by: ozkanonur <work@onurozkan.dev>
2022-11-21 20:02:20 +01:00
Philipp Krones
661f13ce3b
Bump nightly version -> 2022-11-21 2022-11-21 20:02:14 +01:00
Philipp Krones
25e98bf708
Bump Clippy version -> 0.1.67 2022-11-21 20:02:06 +01:00
Philipp Krones
fd5b85c957
Merge remote-tracking branch 'upstream/master' into rustup 2022-11-21 20:01:17 +01:00
bors
b7bc90fea3 Auto merge of #104120 - mejrs:diag, r=davidtwco
Match and enforce crate and slug names

Some of these were in the wrong place or had a name that didn't match.
2022-11-21 18:36:26 +00:00
Eric Holk
ff38c3528a Coercions work now 2022-11-21 10:20:12 -08:00
Eric Holk
1a913a6347 Add a test case for async dyn* traits 2022-11-21 10:13:57 -08:00