You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
this compiles with the old solver, inferring the _ to T. It has a ParamEnv and a BuiltinCandidate { has_nested: true } candidate and prefers the ParamEnv candidate here.
The new solver encounters a trivial impl candidate and a ParamEnv one, preferring the trivial builtin.
The text was updated successfully, but these errors were encountered:
lcnr
changed the title
hopefully irrelevant breakage due to trivial builtin impls
hopefully irrelevant candidate behavior difference of Sized/trivial builtin impls
Feb 12, 2025
The old solver only considers Sized impls to be trivial if the sized_conditions are empty. This means that even with a trivially true condition we prefer where-bounds. This results in the following inconsistent behavior:
this compiles with the old solver, inferring the
_
toT
. It has aParamEnv
and aBuiltinCandidate { has_nested: true }
candidate and prefers theParamEnv
candidate here.The new solver encounters a trivial impl candidate and a
ParamEnv
one, preferring the trivial builtin.The text was updated successfully, but these errors were encountered: