]> git.lizzy.rs Git - rust.git/commit
Rollup merge of #107555 - edward-shen:edward-shen/dup-trait-suggestion, r=compiler...
authorMatthias Krüger <matthias.krueger@famsik.de>
Tue, 7 Feb 2023 16:57:14 +0000 (17:57 +0100)
committerGitHub <noreply@github.com>
Tue, 7 Feb 2023 16:57:14 +0000 (17:57 +0100)
commit917662a8f6f4ddce6993ed7a528f1d8d8dd2764d
treed8e07ed464d2f4bf267ff26f0969b05e9d996f8b
parent44bc2db4842842b63dfa69a0bd3b5e65ee523f51
parentaf5a37e8440c503b5bb89ec94199f036d772b9e8
Rollup merge of #107555 - edward-shen:edward-shen/dup-trait-suggestion, r=compiler-errors

Modify existing bounds if they exist

Fixes #107335.

This implementation is kinda gross but I don't really see a better way to do it.

This primarily does two things: Modifies `suggest_constraining_type_param` to accept a new parameter that indicates a span to be replaced instead of added, if presented, and limit the additive suggestions to either suggest a new bound on an existing bound (see newly added unit test) or add the generics argument if a generics argument wasn't found.

The former change is required to retain the capability to add an entirely new bounds if it was entirely omitted.

r? ``@compiler-errors``
compiler/rustc_hir_typeck/src/fn_ctxt/suggestions.rs