@@ -3513,9 +3513,9 @@ let rec __flow cx ((l: Type.t), (u: Type.use_t)) trace =
35133513 LookupT (ureason, NonstrictReturning None , [] , propref,
35143514 LookupProp (Field (ut, upolarity))))
35153515 | _ ->
3516- rec_flow cx trace (super,
3517- LookupT (ureason, Strict lreason, [] , propref,
3518- LookupProp up ))
3516+ let u =
3517+ LookupT (ureason, Strict lreason, [] , propref, LookupProp up) in
3518+ rec_flow cx trace (super, ReposLowerT (lreason, u ))
35193519 );
35203520
35213521 rec_flow cx trace (l, UseT (use_op, uproto))
@@ -3644,7 +3644,7 @@ let rec __flow cx ((l: Type.t), (u: Type.use_t)) trace =
36443644 | (InstanceT _ , UseT (use_op , (InstanceT _ as u ))) ->
36453645 rec_flow cx trace (l, UseT (use_op, ExtendsT ([] ,l,u)))
36463646
3647- | InstanceT (_ , _, super, implements, instance),
3647+ | InstanceT (reason , _, super, implements, instance),
36483648 UseT (use_op, ExtendsT (try_ts_on_failure, l,
36493649 (InstanceT (_, _, _, _, instance_super) as u))) ->
36503650 if instance.class_id = instance_super.class_id
@@ -3656,8 +3656,9 @@ let rec __flow cx ((l: Type.t), (u: Type.use_t)) trace =
36563656 then use the ExtendsT use type to search for a nominally matching
36573657 implementation, thereby short-circuiting a potentially expensive
36583658 structural test at the use site. *)
3659- rec_flow cx trace (super, UseT (use_op,
3660- ExtendsT (try_ts_on_failure @ implements, l, u)))
3659+ let u = UseT (use_op,
3660+ ExtendsT (try_ts_on_failure @ implements, l, u)) in
3661+ rec_flow cx trace (super, ReposLowerT (reason, u))
36613662
36623663 (* *******************************************************)
36633664 (* runtime types derive static types through annotation *)
0 commit comments