mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-21 11:23:03 +00:00
Only resolve in new solver
This commit is contained in:
parent
8838c73e86
commit
214d78daec
@ -1007,15 +1007,17 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||||||
&self,
|
&self,
|
||||||
expr: &hir::Expr<'_>,
|
expr: &hir::Expr<'_>,
|
||||||
expr_ty: Ty<'tcx>,
|
expr_ty: Ty<'tcx>,
|
||||||
target: Ty<'tcx>,
|
mut target: Ty<'tcx>,
|
||||||
allow_two_phase: AllowTwoPhase,
|
allow_two_phase: AllowTwoPhase,
|
||||||
cause: Option<ObligationCause<'tcx>>,
|
cause: Option<ObligationCause<'tcx>>,
|
||||||
) -> RelateResult<'tcx, Ty<'tcx>> {
|
) -> RelateResult<'tcx, Ty<'tcx>> {
|
||||||
let source = self.try_structurally_resolve_type(expr.span, expr_ty);
|
let source = self.try_structurally_resolve_type(expr.span, expr_ty);
|
||||||
let target = self.try_structurally_resolve_type(
|
if self.next_trait_solver() {
|
||||||
cause.as_ref().map_or(expr.span, |cause| cause.span),
|
target = self.try_structurally_resolve_type(
|
||||||
target,
|
cause.as_ref().map_or(expr.span, |cause| cause.span),
|
||||||
);
|
target,
|
||||||
|
);
|
||||||
|
}
|
||||||
debug!("coercion::try({:?}: {:?} -> {:?})", expr, source, target);
|
debug!("coercion::try({:?}: {:?} -> {:?})", expr, source, target);
|
||||||
|
|
||||||
let cause =
|
let cause =
|
||||||
|
Loading…
Reference in New Issue
Block a user