// type.
// Compute skolemized form of impl and trait method tys.
- let impl_fty = tcx.mk_fn(None, tcx.mk_bare_fn(impl_m.fty.clone()));
+ let impl_fty = tcx.mk_fn_ptr(impl_m.fty.clone());
let impl_fty = impl_fty.subst(tcx, impl_to_skol_substs);
- let trait_fty = tcx.mk_fn(None, tcx.mk_bare_fn(trait_m.fty.clone()));
+ let trait_fty = tcx.mk_fn_ptr(trait_m.fty.clone());
let trait_fty = trait_fty.subst(tcx, &trait_to_skol_substs);
let err = infcx.commit_if_ok(|snapshot| {
impl_m_span,
impl_m_body_id,
&impl_sig);
- let impl_fty = tcx.mk_fn(None, tcx.mk_bare_fn(ty::BareFnTy {
+ let impl_fty = tcx.mk_fn_ptr(ty::BareFnTy {
unsafety: impl_m.fty.unsafety,
abi: impl_m.fty.abi,
sig: ty::Binder(impl_sig)
- }));
+ });
debug!("compare_impl_method: impl_fty={:?}",
impl_fty);
impl_m_span,
impl_m_body_id,
&trait_sig);
- let trait_fty = tcx.mk_fn(None, tcx.mk_bare_fn(ty::BareFnTy {
+ let trait_fty = tcx.mk_fn_ptr(ty::BareFnTy {
unsafety: trait_m.fty.unsafety,
abi: trait_m.fty.abi,
sig: ty::Binder(trait_sig)
- }));
+ });
debug!("compare_impl_method: trait_fty={:?}",
trait_fty);