Remove unnecessary constness from ProjectionCandidate
This commit is contained in:
parent
e223c41028
commit
20927d3956
4 changed files with 12 additions and 19 deletions
|
@ -1883,7 +1883,7 @@ impl<'tcx> SelectionContext<'_, 'tcx> {
|
|||
| BuiltinCandidate { .. }
|
||||
| TraitAliasCandidate
|
||||
| ObjectCandidate(_)
|
||||
| ProjectionCandidate(..),
|
||||
| ProjectionCandidate(_),
|
||||
) => {
|
||||
// We have a where clause so don't go around looking
|
||||
// for impls. Arbitrarily give param candidates priority
|
||||
|
@ -1893,7 +1893,7 @@ impl<'tcx> SelectionContext<'_, 'tcx> {
|
|||
// here (see issue #50825).
|
||||
DropVictim::drop_if(!is_global(other_cand))
|
||||
}
|
||||
(ObjectCandidate(_) | ProjectionCandidate(..), ParamCandidate(ref victim_cand)) => {
|
||||
(ObjectCandidate(_) | ProjectionCandidate(_), ParamCandidate(ref victim_cand)) => {
|
||||
// Prefer these to a global where-clause bound
|
||||
// (see issue #50825).
|
||||
if is_global(victim_cand) { DropVictim::Yes } else { DropVictim::No }
|
||||
|
@ -1921,20 +1921,20 @@ impl<'tcx> SelectionContext<'_, 'tcx> {
|
|||
)
|
||||
}
|
||||
|
||||
(ProjectionCandidate(i, _), ProjectionCandidate(j, _))
|
||||
(ProjectionCandidate(i), ProjectionCandidate(j))
|
||||
| (ObjectCandidate(i), ObjectCandidate(j)) => {
|
||||
// Arbitrarily pick the lower numbered candidate for backwards
|
||||
// compatibility reasons. Don't let this affect inference.
|
||||
DropVictim::drop_if(i < j && !has_non_region_infer)
|
||||
}
|
||||
(ObjectCandidate(_), ProjectionCandidate(..))
|
||||
| (ProjectionCandidate(..), ObjectCandidate(_)) => {
|
||||
(ObjectCandidate(_), ProjectionCandidate(_))
|
||||
| (ProjectionCandidate(_), ObjectCandidate(_)) => {
|
||||
bug!("Have both object and projection candidate")
|
||||
}
|
||||
|
||||
// Arbitrarily give projection and object candidates priority.
|
||||
(
|
||||
ObjectCandidate(_) | ProjectionCandidate(..),
|
||||
ObjectCandidate(_) | ProjectionCandidate(_),
|
||||
ImplCandidate(..)
|
||||
| AutoImplCandidate
|
||||
| ClosureCandidate { .. }
|
||||
|
@ -1964,7 +1964,7 @@ impl<'tcx> SelectionContext<'_, 'tcx> {
|
|||
| TraitUpcastingUnsizeCandidate(_)
|
||||
| BuiltinCandidate { .. }
|
||||
| TraitAliasCandidate,
|
||||
ObjectCandidate(_) | ProjectionCandidate(..),
|
||||
ObjectCandidate(_) | ProjectionCandidate(_),
|
||||
) => DropVictim::No,
|
||||
|
||||
(&ImplCandidate(other_def), &ImplCandidate(victim_def)) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue