rust/crates
bors 56d888689b Auto merge of #12793 - lowr:fix/12739, r=Veykril
fix: sort and deduplicate auto traits in trait object types

Fixes #12739

Chalk solver doesn't sort and deduplicate auto traits in trait object types, so we need to handle them ourselves in the lowering phase, just like [`rustc`](880416180b/compiler/rustc_typeck/src/astconv/mod.rs (L1487-L1488)) and [`chalk-integration`](https://github.com/rust-lang/chalk/blob/master/chalk-integration/src/lowering.rs#L575) do.

Quoting from [the Chalk book](https://rust-lang.github.io/chalk/book/types/rust_types.html#dyn-types):

> Note that -- for this purpose -- ordering of bounds is significant. That means that if you create a `dyn Foo + Send` and a `dyn Send + Foo`, chalk would consider them distinct types. The assumption is that bounds are ordered in some canonical fashion somewhere else.

Also, trait object types with more than one non-auto traits were previously allowed, but are now disallowed with this patch.
2022-08-31 08:28:12 +00:00
..
base-db Make use of NoHash hashing for FileId and CrateId 2022-08-25 20:41:49 +02:00
cfg Run cargo fix --edition-idioms 2022-07-20 15:02:08 +02:00
flycheck Pop an error notification when flycheck can't be restarted 2022-08-22 17:42:33 +02:00
hir Auto merge of #12965 - DesmondWillowbrook:assoc-method-dimming, r=Veykril 2022-08-22 07:20:56 +00:00
hir-def fix: unescape all occurrences of module name in module resolution 2022-08-31 03:51:37 +09:00
hir-expand Auto merge of #12982 - jridgewell:into_future, r=Veykril 2022-08-18 07:37:47 +00:00
hir-ty Auto merge of #12793 - lowr:fix/12739, r=Veykril 2022-08-31 08:28:12 +00:00
ide Auto merge of #12793 - lowr:fix/12739, r=Veykril 2022-08-31 08:28:12 +00:00
ide-assists Auto merge of #13151 - ChayimFriedman2:replace-turbofish-other-type, r=Veykril 2022-08-31 07:47:53 +00:00
ide-completion fix: Fix reference autocompletions using incorrect offsets in macro inputs 2022-08-23 14:29:59 +02:00
ide-db Make use of NoHash hashing for FileId and CrateId 2022-08-25 20:41:49 +02:00
ide-diagnostics Auto merge of #12965 - DesmondWillowbrook:assoc-method-dimming, r=Veykril 2022-08-22 07:20:56 +00:00
ide-ssr Make use of NoHash hashing for FileId and CrateId 2022-08-25 20:41:49 +02:00
limit Properly cfg the max field of Limit 2022-07-31 19:27:20 +02:00
mbe fix: a bunch of typos 2022-08-17 21:44:58 +08:00
parser Allow leading | in more pattern positions 2022-08-23 16:31:59 +02:00
paths Auto merge of #12808 - Veykril:check-workspace, r=Veykril 2022-08-04 12:57:04 +00:00
proc-macro-api remove imports that are also in edition 2021's prelude 2022-08-09 01:16:32 +02:00
proc-macro-srv Replace crossbeam with std's scoped threads 2022-08-22 14:55:13 +02:00
proc-macro-srv-cli Gate and rename binary, use it if it's in the sysroot 2022-07-25 16:22:39 +02:00
proc-macro-test revert nightly rustfmt formatting that accidentally slipped in 2022-07-25 14:18:30 +02:00
profile Run cargo fix --edition-idioms 2022-07-20 15:02:08 +02:00
project-model Update test fixtures 2022-08-25 21:07:24 +02:00
rust-analyzer Move empty diagnostics workaround back into the server 2022-08-28 11:54:46 +02:00
sourcegen run stable fmt through rustup 2022-08-06 17:25:02 +03:00
stdx Update test fixtures 2022-08-25 21:07:24 +02:00
syntax Migrate syntax::make to use format arg captures 2022-08-18 13:42:10 -04:00
test-utils Implement IntoFuture type inference 2022-08-08 21:05:56 -04:00
text-edit Enable extra warnings required by rust-lang/rust 2022-07-20 15:00:17 +02:00
toolchain Enable extra warnings required by rust-lang/rust 2022-07-20 15:00:17 +02:00
tt Run cargo fix --edition-idioms 2022-07-20 15:02:08 +02:00
vfs Make use of NoHash hashing for FileId and CrateId 2022-08-25 20:41:49 +02:00
vfs-notify Bump notify 2022-08-19 21:37:05 +03:00