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
Oli Scherer
c16a90f5e3
Test generalization during coherence
2022-11-21 16:47:29 +00:00
Oli Scherer
11adf03790
Add some more assertions for type relations not used during coherence
2022-11-21 16:38:49 +00:00
Oli Scherer
7301cd7844
Type generalization should not look at opaque type in coherence
2022-11-21 16:38:23 +00:00
Oli Scherer
11ae334f07
Remove a function that doesn't actually do anything
2022-11-21 16:37:57 +00:00
Oli Scherer
f42e490d6f
Register obligations from type relation
2022-11-21 16:37:53 +00:00
Oli Scherer
9a8e1eea7a
Move a field around
2022-11-21 16:35:23 +00:00
Oli Scherer
9cd44f8142
nit treat different opaque types
2022-11-21 16:35:10 +00:00
Oli Scherer
ae80c764d4
Add an always-ambiguous predicate to make sure that we don't accidentlally allow trait resolution to prove false things during coherence
2022-11-21 16:35:04 +00:00
Michael Howell
709e9dea91
rustdoc: add test case for pointer cursor
2022-11-21 09:16:54 -07:00
Oli Scherer
94fe30ff2f
Treat different opaque types of the same def id as equal during coherence
2022-11-21 16:06:07 +00:00
Oli Scherer
2752e328c9
Allow opaque types in trait impl headers and rely on coherence to reject unsound cases
2022-11-21 16:00:31 +00:00
bors
1cbc45942d
Auto merge of #104673 - matthiaskrgr:rollup-85f65ov, r=matthiaskrgr
...
Rollup of 9 pull requests
Successful merges:
- #104420 (Fix doc example for `wrapping_abs`)
- #104499 (rustdoc JSON: Use `Function` everywhere and remove `Method`)
- #104500 (`rustc_ast`: remove `ref` patterns)
- #104511 (Mark functions created for `raw-dylib` on x86 with DllImport storage class)
- #104595 (Add `PolyExistentialPredicate` type alias)
- #104605 (deduplicate constant evaluation in cranelift backend)
- #104628 (Revert "Update CI to use Android NDK r25b")
- #104662 (Streamline deriving on packed structs.)
- #104667 (Revert formatting changes of a test)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-11-21 15:22:54 +00:00
Ralf Jung
1a6966602a
dont attempt strict provenance in SGX
2022-11-21 16:10:56 +01:00
Santiago Pastorino
16c9e39021
negative_impl_exists should take an InferCtxt
2022-11-21 11:26:23 -03:00
mejrs
f47abd8987
Fix make test
2022-11-21 15:24:51 +01:00
mejrs
e8e47e0873
Improve slug name error
2022-11-21 15:24:51 +01:00
mejrs
d494502f64
Fix tests
2022-11-21 15:24:51 +01:00
mejrs
fe212eca76
Match crate and slug names
2022-11-21 15:24:50 +01:00
Santiago Pastorino
2faad3b699
negative_impl should take a TyCtxt
2022-11-21 11:09:53 -03:00
Matthias Krüger
9326261279
Rollup merge of #104667 - WaffleLapkin:unfmttest, r=Dylan-DPC
...
Revert formatting changes of a test
See https://github.com/rust-lang/rust/pull/99935/files#r1027259119
cc ``@CAD97``
2022-11-21 14:11:13 +01:00
Matthias Krüger
439a8e6cef
Rollup merge of #104662 - nnethercote:tweak-deriving-for-packed-non-copy, r=jackh726
...
Streamline deriving on packed structs.
The current approach to field accesses in derived code:
- Normal case: `&self.0`
- In a packed struct that derives `Copy`: `&{self.0}`
- In a packed struct that doesn't derive `Copy`: `let Self(ref x) = *self`
The `let` pattern used in the third case is equivalent to the simpler field access in the first case. This commit changes the third case to use a field access.
The commit also combines two boolean arguments (`is_packed` and `always_copy`) into a single field (`copy_fields`) earlier, to save passing both around.
r? ``@jackh726``
2022-11-21 14:11:13 +01:00