Skip to content

Instantly share code, notes, and snippets.

@pnkfelix pnkfelix/rlog
Created Jan 29, 2019

Embed
What would you like to do?
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)) predicates=[Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)) predicates=[Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::traits::object_safety: astconv_object_safety_violations(trait_def_id=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) = []
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReLateBound(DebruijnIndex(0), BrAnon(1))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<FreshTy(0) as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReLateBound(DebruijnIndex(0), BrAnon(1))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<FreshTy(0) as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReStatic) = HAS_FREE_REGIONS
DEBUG 2019-01-29T13:50:22Z: rustc::traits::specialize::specialization_graph: insert(DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0])): inserting TraitRef <F as ClonableFn<T>> into specialization graph
DEBUG 2019-01-29T13:50:22Z: rustc::traits::specialize::specialization_graph: insert(impl_def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]), simplified_self=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::specialize::specialization_graph: placing as new sibling
DEBUG 2019-01-29T13:50:22Z: rustc::traits::specialize::specialization_graph: insert_blindly: impl_def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]) sty=None
DEBUG 2019-01-29T13:50:22Z: rustc::traits::coherence: orphan_check(DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::coherence: orphan_check: trait_ref=<F as ClonableFn<T>>
DEBUG 2019-01-29T13:50:22Z: rustc::traits::coherence: trait DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0]) is local to current crate
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: visit_item: Item { ident: #0, id: NodeId(3), hir_id: HirId { owner: DefIndex(0:1), local_id: 0 }, attrs: [Attribute { id: AttrId(2), style: Outer, path: path(prelude_import), tokens: TokenStream(None), is_sugared_doc: false, span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1 }], node: Use(path(::std::prelude::v1), Glob), vis: Spanned { node: Inherited, span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1 }, span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1 }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_item_well_formed(it.id=3, it.name={{?}})
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: visit_item: Item { ident: std#0, id: NodeId(9), hir_id: HirId { owner: DefIndex(0:2), local_id: 0 }, attrs: [Attribute { id: AttrId(1), style: Outer, path: path(macro_use), tokens: TokenStream(None), is_sugared_doc: false, span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1 }], node: ExternCrate(None), vis: Spanned { node: Inherited, span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1 }, span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1 }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_item_well_formed(it.id=9, it.name=std)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: visit_item: Item { ident: ClonableFn#0, id: NodeId(11), hir_id: HirId { owner: DefIndex(0:3), local_id: 0 }, attrs: [], node: Trait(No, Normal, Generics { params: [GenericParam { id: NodeId(12), name: Plain(T#0), attrs: [], bounds: [], span: ../../issue-57843-ice-with-cloneablefn.rs:3:18: 3:19, pure_wrt_drop: false, kind: Type { default: None, synthetic: None } }], where_clause: WhereClause { id: NodeId(13), predicates: [] }, span: ../../issue-57843-ice-with-cloneablefn.rs:3:17: 3:20 }, [], []), vis: Spanned { node: Inherited, span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 3:1 }, span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2 }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_item_well_formed(it.id=11, it.name=ClonableFn)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_trait: NodeId(11)
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error(region_context=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0]), unnormalized_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<Self as ClonableFn<T>>))], reveal: UserFacing, def_id: None }, cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as ClonableFn<T>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<T as std::marker::Sized>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: predicates=(non-outlives=[Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], outlives=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predicates(predicates=[Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], region_context=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0]), cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))] with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))] obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error start
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error complete
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predictes: normalized predicates = [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: non-outlives predicates=[Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predicates(predicates=[], region_context=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0]), cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize_with_fulfillcx(value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=[] with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: normalized_value=[] obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error start
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error complete
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: resolved_value=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predictes: normalized predicates = []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: outlives predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: final predicates=[Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as ClonableFn<T>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<T as std::marker::Sized>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=InstantiatedPredicates([Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<Self as ClonableFn<T>>))]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<Self as ClonableFn<T>>))]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<Self as ClonableFn<T>>))]) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=InstantiatedPredicates([Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<Self as ClonableFn<T>>))]) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_where_clauses: predicates=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<Self as ClonableFn<T>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Self,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=4)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<T as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=T)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<T as std::marker::Sized>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<T as std::marker::Sized>) <: Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<T as std::marker::Sized>), b=Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<T as std::marker::Sized>), result=<T as std::marker::Sized>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0)): [ParamCandidate(Binder(<T as std::marker::Sized>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<T as std::marker::Sized>)))=Ok(Some(ParamCandidate(Binder(<T as std::marker::Sized>))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<T as std::marker::Sized>, candidate=Ok(Some(ParamCandidate(Binder(<T as std::marker::Sized>))))) local
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0), ParamCandidate(Binder(<T as std::marker::Sized>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0),Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<T as std::marker::Sized>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<T as std::marker::Sized>) <: Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<T as std::marker::Sized>), b=Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<T as std::marker::Sized>), result=<T as std::marker::Sized>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<T as std::marker::Sized>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as ClonableFn<T>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=Self)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<Self as ClonableFn<T>>)), result=TraitPredicate(<Self as ClonableFn<T>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#0t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#1t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<_#1t as ClonableFn<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<_#1t as ClonableFn<_#0t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<_#1t as ClonableFn<_#0t>>, skol_obligation_trait_ref=<Self as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<Self as ClonableFn<T>> == <_#1t as ClonableFn<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(Self, _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (Self, _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=Self dir=EqTo b_vid=_#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=Self, for_vid=_#1t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { Self, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=Self, dir=EqTo, b_vid=_#1t, generalized b_ty=Self)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(Self, Self)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (T, _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=T dir=EqTo b_vid=_#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=T, for_vid=_#0t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { T, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=T, dir=EqTo, b_vid=_#0t, generalized b_ty=T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: success impl_substs=[_#0t, _#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#0t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#1t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<Self as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<Self as ClonableFn<T>>) <: Binder(<Self as ClonableFn<T>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<Self as ClonableFn<T>>), b=Binder(<Self as ClonableFn<T>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<Self as ClonableFn<T>>), result=<Self as ClonableFn<T>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<Self as ClonableFn<T>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<Self as ClonableFn<T>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(Self, Self)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<Self as ClonableFn<T>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 2
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 2 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0)): [ImplCandidate(DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0])), ParamCandidate(Binder(<Self as ClonableFn<T>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_candidate: depth=0 candidate=ImplCandidate(DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0), ImplCandidate(DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0])))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0),DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: in_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<Self as ClonableFn<T>>)), result=TraitPredicate(<Self as ClonableFn<T>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#0t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#1t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<_#1t as ClonableFn<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<_#1t as ClonableFn<_#0t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<_#1t as ClonableFn<_#0t>>, skol_obligation_trait_ref=<Self as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<Self as ClonableFn<T>> == <_#1t as ClonableFn<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(Self, _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (Self, _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=Self dir=EqTo b_vid=_#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=Self, for_vid=_#1t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { Self, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=Self, dir=EqTo, b_vid=_#1t, generalized b_ty=Self)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(Self, Self)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (T, _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=T dir=EqTo b_vid=_#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=T, for_vid=_#0t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { T, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=T, dir=EqTo, b_vid=_#0t, generalized b_ty=T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: success impl_substs=[_#0t, _#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_impl_candidate: substs=Normalized([_#0t, _#1t],[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: vtable_impl(impl_def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]), substs=Normalized([_#0t, _#1t],[]), recursion_depth=1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=Binder(ProjectionPredicate(ProjectionTy { substs: [_#1t, (_#0t,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=Binder(ProjectionPredicate(ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_#1t as std::marker::Sized>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<Self as std::marker::Sized>)) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_#1t as std::ops::Fn<(_#0t,)>>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<Self as std::ops::Fn<(T,)>>)) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_#0t as std::marker::Sized>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<T as std::marker::Sized>)) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: vtable_impl: impl_def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]) impl_obligations=[Obligation(predicate=Binder(ProjectionPredicate(ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1), Obligation(predicate=Binder(TraitPredicate(<Self as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1), Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1), Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1)]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_predicate_recursively(previous_stack=Some(TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))), obligation=Obligation(predicate=Binder(ProjectionPredicate(ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: poly_project_and_unify_type(obligation=Obligation(predicate=Binder(ProjectionPredicate(ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(ProjectionPredicate(ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())), result=ProjectionPredicate(ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: project_and_unify_type(obligation=Obligation(predicate=ProjectionPredicate(ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, depth=1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) },cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: project: obligation_trait_ref=<Self as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_param_env(..)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) },cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_trait_def(..)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=Self)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)), result=TraitPredicate(<Self as std::ops::FnOnce<(T,)>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#2t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, "A")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#3t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=2, value=<&'_#0r mut _#3t as std::ops::FnOnce<_#2t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=2 result=<&'_#0r mut _#3t as std::ops::FnOnce<_#2t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=2 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(2/0:996 ~ core[6569]::ops[0]::function[0]::impls[0]::{{impl}}[4]), obligation=Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1), impl_trait_ref=<&'_#0r mut _#3t as std::ops::FnOnce<_#2t>>, skol_obligation_trait_ref=<Self as std::ops::FnOnce<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<Self as std::ops::FnOnce<(T,)>> == <&'_#0r mut _#3t as std::ops::FnOnce<_#2t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(1)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(Self, &'_#0r mut _#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (Self, &'_#0r mut _#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected Self, found mutable reference`
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#2t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#3t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)), result=TraitPredicate(<Self as std::ops::FnOnce<(T,)>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#2t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, "A")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#3t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=2, value=<&'_#0r _#3t as std::ops::FnOnce<_#2t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=2 result=<&'_#0r _#3t as std::ops::FnOnce<_#2t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=2 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(2/0:991 ~ core[6569]::ops[0]::function[0]::impls[0]::{{impl}}[2]), obligation=Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1), impl_trait_ref=<&'_#0r _#3t as std::ops::FnOnce<_#2t>>, skol_obligation_trait_ref=<Self as std::ops::FnOnce<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<Self as std::ops::FnOnce<(T,)>> == <&'_#0r _#3t as std::ops::FnOnce<_#2t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(1)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(Self, &'_#0r _#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (Self, &'_#0r _#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected Self, found reference`
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#2t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#3t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=Self)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 0
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1)): []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: winnowed to 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1)): []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)))=Err(Unimplemented)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<Self as std::ops::FnOnce<(T,)>>, candidate=Err(Unimplemented)) local
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_impls: selection error Unimplemented
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: opt_normalize_projection_type: ERROR
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#2t, diverging=false, origin=NormalizeProjectionType(/home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libcore/ops/function.rs:227:5: 227:17)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: project_and_unify_type: normalized_ty=_#2t obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1)]
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(_#2t == ())
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(_#2t, ())
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (_#2t, ())
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=() dir=EqTo b_vid=_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=(), for_vid=_#2t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { (), false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=(), dir=EqTo, b_vid=_#2t, generalized b_ty=())
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((), ())
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_predicate_recursively(previous_stack=Some(TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0))), obligation=Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=2)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)))=Err(Unimplemented)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: EVAL(Binder(<Self as std::ops::FnOnce<(T,)>>))=EvaluatedToErr
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_evaluation_cache(trait_ref=Binder(<Self as std::ops::FnOnce<(T,)>>), candidate=EvaluatedToErr)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<Self as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=2)) = EvaluatedToErr
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) } }) - ignoring Some(Error)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(ProjectionPredicate(ProjectionTy { substs: [Self, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<Self as ClonableFn<T>>), parent_code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=1)) = EvaluatedToErr
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#0t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#1t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#2t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToErr
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_candidate: depth=0 candidate=ParamCandidate(Binder(<Self as ClonableFn<T>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0), ParamCandidate(Binder(<Self as ClonableFn<T>>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0),Binder(<Self as ClonableFn<T>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<Self as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<Self as ClonableFn<T>>) <: Binder(<Self as ClonableFn<T>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<Self as ClonableFn<T>>), b=Binder(<Self as ClonableFn<T>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<Self as ClonableFn<T>>), result=<Self as ClonableFn<T>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<Self as ClonableFn<T>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<Self as ClonableFn<T>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(Self, Self)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<Self as ClonableFn<T>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: winnowed to 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0)): [EvaluatedCandidate { candidate: ParamCandidate(Binder(<Self as ClonableFn<T>>)), evaluation: EvaluatedToOk }]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as ClonableFn<T>>)))=Ok(Some(ParamCandidate(Binder(<Self as ClonableFn<T>>))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<Self as ClonableFn<T>>, candidate=Ok(Some(ParamCandidate(Binder(<Self as ClonableFn<T>>))))) local
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0), ParamCandidate(Binder(<Self as ClonableFn<T>>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0),Binder(<Self as ClonableFn<T>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:3:1: 4:2, body_id: NodeId(11), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as ClonableFn<T>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<Self as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<Self as ClonableFn<T>>) <: Binder(<Self as ClonableFn<T>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<Self as ClonableFn<T>>), b=Binder(<Self as ClonableFn<T>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<Self as ClonableFn<T>>), result=<Self as ClonableFn<T>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<Self as ClonableFn<T>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<Self as ClonableFn<T>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(Self, Self)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<Self as ClonableFn<T>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as ClonableFn<T>>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: false
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck_item(item.id=NodeId(11), wf_tys=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::env: add_implied_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: visit_region_obligations: node_id=11
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: visit_item: Item { ident: #0, id: NodeId(14), hir_id: HirId { owner: DefIndex(0:4), local_id: 0 }, attrs: [], node: Impl(Normal, "positive", Final, Generics { params: [GenericParam { id: NodeId(15), name: Plain(T#0), attrs: [], bounds: [], span: ../../issue-57843-ice-with-cloneablefn.rs:6:6: 6:7, pure_wrt_drop: false, kind: Type { default: None, synthetic: None } }, GenericParam { id: NodeId(16), name: Plain(F#0), attrs: [], bounds: [], span: ../../issue-57843-ice-with-cloneablefn.rs:6:9: 6:10, pure_wrt_drop: false, kind: Type { default: None, synthetic: None } }], where_clause: WhereClause { id: NodeId(17), predicates: [BoundPredicate(WhereBoundPredicate { span: ../../issue-57843-ice-with-cloneablefn.rs:6:38: 6:46, bound_generic_params: [], bounded_ty: type(F), bounds: [Trait(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: path(Fn(T) -> ()), ref_id: NodeId(20), hir_ref_id: HirId { owner: DefIndex(0:4), local_id: 12 } }, span: ../../issue-57843-ice-with-cloneablefn.rs:6:41: 6:46 }, None)] })] }, span: ../../issue-57843-ice-with-cloneablefn.rs:6:5: 6:11 }, Some(TraitRef { path: path(ClonableFn<T>), ref_id: NodeId(24), hir_ref_id: HirId { owner: DefIndex(0:4), local_id: 16 } }), type(F), []), vis: Spanned { node: Inherited, span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 6:1 }, span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2 }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_item_well_formed(it.id=14, it.name=<F as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_impl: Item { ident: #0, id: NodeId(14), hir_id: HirId { owner: DefIndex(0:4), local_id: 0 }, attrs: [], node: Impl(Normal, "positive", Final, Generics { params: [GenericParam { id: NodeId(15), name: Plain(T#0), attrs: [], bounds: [], span: ../../issue-57843-ice-with-cloneablefn.rs:6:6: 6:7, pure_wrt_drop: false, kind: Type { default: None, synthetic: None } }, GenericParam { id: NodeId(16), name: Plain(F#0), attrs: [], bounds: [], span: ../../issue-57843-ice-with-cloneablefn.rs:6:9: 6:10, pure_wrt_drop: false, kind: Type { default: None, synthetic: None } }], where_clause: WhereClause { id: NodeId(17), predicates: [BoundPredicate(WhereBoundPredicate { span: ../../issue-57843-ice-with-cloneablefn.rs:6:38: 6:46, bound_generic_params: [], bounded_ty: type(F), bounds: [Trait(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: path(Fn(T) -> ()), ref_id: NodeId(20), hir_ref_id: HirId { owner: DefIndex(0:4), local_id: 12 } }, span: ../../issue-57843-ice-with-cloneablefn.rs:6:41: 6:46 }, None)] })] }, span: ../../issue-57843-ice-with-cloneablefn.rs:6:5: 6:11 }, Some(TraitRef { path: path(ClonableFn<T>), ref_id: NodeId(24), hir_ref_id: HirId { owner: DefIndex(0:4), local_id: 16 } }), type(F), []), vis: Spanned { node: Inherited, span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 6:1 }, span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2 }
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error(region_context=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]), unnormalized_env=ParamEnv { caller_bounds: [Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<T as std::marker::Sized>))], reveal: UserFacing, def_id: None }, cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<T as std::marker::Sized>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)) predicates=[Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)) predicates=[Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::marker::Sized>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: predicates=(non-outlives=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], outlives=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predicates(predicates=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], region_context=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]), cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))] with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))] obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error start
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error complete
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predictes: normalized predicates = [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: non-outlives predicates=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predicates(predicates=[], region_context=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]), cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize_with_fulfillcx(value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=[] with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: normalized_value=[] obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error start
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error complete
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: resolved_value=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predictes: normalized predicates = []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: outlives predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: final predicates=[Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<T as std::marker::Sized>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)) predicates=[Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)) predicates=[Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as std::marker::Sized>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=<F as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=<F as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=<F as ClonableFn<T>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=<F as ClonableFn<T>> predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<F as ClonableFn<T>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<T as std::marker::Sized>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ItemObligation(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=InstantiatedPredicates([Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<T as std::marker::Sized>))]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<T as std::marker::Sized>))]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<T as std::marker::Sized>))]) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=InstantiatedPredicates([Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<T as std::marker::Sized>))]) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_where_clauses: predicates=[Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<T as std::marker::Sized>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<<F as std::ops::FnOnce<(T,)>>::Output as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, depth=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) },cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: project: obligation_trait_ref=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_param_env(..)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) },cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<F as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::ops::FnOnce<(T,)>>) <: Binder(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::ops::FnOnce<(T,)>>), b=Binder(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::ops::FnOnce<(T,)>>), result=<F as std::ops::FnOnce<(T,)>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((T,), (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_predicates: candidate=Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())) is_match=true same_def_id=true
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: assemble_candidates_from_trait_def(..)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), result=TraitPredicate(<F as std::ops::FnOnce<(T,)>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#0t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "A")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#1t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<&'_#0r mut _#1t as std::ops::FnOnce<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#0r mut _#1t as std::ops::FnOnce<_#0t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(2/0:996 ~ core[6569]::ops[0]::function[0]::impls[0]::{{impl}}[4]), obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#0r mut _#1t as std::ops::FnOnce<_#0t>>, skol_obligation_trait_ref=<F as std::ops::FnOnce<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<F as std::ops::FnOnce<(T,)>> == <&'_#0r mut _#1t as std::ops::FnOnce<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(1)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, &'_#0r mut _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (F, &'_#0r mut _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected type parameter, found mutable reference`
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#0t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#1t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), result=TraitPredicate(<F as std::ops::FnOnce<(T,)>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#0t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "A")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#1t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<&'_#0r _#1t as std::ops::FnOnce<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#0r _#1t as std::ops::FnOnce<_#0t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(2/0:991 ~ core[6569]::ops[0]::function[0]::impls[0]::{{impl}}[2]), obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#0r _#1t as std::ops::FnOnce<_#0t>>, skol_obligation_trait_ref=<F as std::ops::FnOnce<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<F as std::ops::FnOnce<(T,)>> == <&'_#0r _#1t as std::ops::FnOnce<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(1)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, &'_#0r _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (F, &'_#0r _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected type parameter, found reference`
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#0t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#1t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_object_ty(self_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::ops::FnOnce<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::ops::FnOnce<(T,)>>) <: Binder(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::ops::FnOnce<(T,)>>), b=Binder(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::ops::FnOnce<(T,)>>), result=<F as std::ops::FnOnce<(T,)>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((T,), (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)): [ParamCandidate(Binder(<F as std::ops::FnOnce<(T,)>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)))=Ok(Some(ParamCandidate(Binder(<F as std::ops::FnOnce<(T,)>>))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<F as std::ops::FnOnce<(T,)>>, candidate=Ok(Some(ParamCandidate(Binder(<F as std::ops::FnOnce<(T,)>>))))) local
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), ParamCandidate(Binder(<F as std::ops::FnOnce<(T,)>>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0),Binder(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::ops::FnOnce<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::ops::FnOnce<(T,)>>) <: Binder(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::ops::FnOnce<(T,)>>), b=Binder(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::ops::FnOnce<(T,)>>), result=<F as std::ops::FnOnce<(T,)>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((T,), (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: confirm_candidate(candidate=ParamEnv(Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))), obligation=Obligation(predicate=ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) },cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<F as std::ops::FnOnce<(T,)>> == <F as std::ops::FnOnce<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((T,), (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: opt_normalize_projection_type: projected_ty=() depth=0 projected_obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) } }, value=Normalized((),[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <F as std::ops::FnOnce<(T,)>>::Output to (), now with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=(T,),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=(T,),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ProjectionWf(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ProjectionWf(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=(T,),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=(T,),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ProjectionWf(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ProjectionWf(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ProjectionWf(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=(T,),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=(T,),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=F,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=(T,),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=(T,),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: next obligation cause: ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=T,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=<F as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=<F as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=<F as ClonableFn<T>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=<F as ClonableFn<T>> predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=11)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<F as ClonableFn<T>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<F as ClonableFn<T>>)), result=TraitPredicate(<F as ClonableFn<T>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#0t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#1t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<_#1t as ClonableFn<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<_#1t as ClonableFn<_#0t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<_#1t as ClonableFn<_#0t>>, skol_obligation_trait_ref=<F as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<F as ClonableFn<T>> == <_#1t as ClonableFn<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (F, _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=F dir=EqTo b_vid=_#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=F, for_vid=_#1t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { F, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=F, dir=EqTo, b_vid=_#1t, generalized b_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (T, _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=T dir=EqTo b_vid=_#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=T, for_vid=_#0t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { T, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=T, dir=EqTo, b_vid=_#0t, generalized b_ty=T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: success impl_substs=[_#0t, _#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#0t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#1t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_object_ty(self_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)): [ImplCandidate(DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<F as ClonableFn<T>>)))=Ok(Some(ImplCandidate(DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<F as ClonableFn<T>>, candidate=Ok(Some(ImplCandidate(DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]))))) local
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), ImplCandidate(DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0])))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0),DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: in_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<F as ClonableFn<T>>)), result=TraitPredicate(<F as ClonableFn<T>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#0t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#1t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<_#1t as ClonableFn<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<_#1t as ClonableFn<_#0t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<F as ClonableFn<T>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<_#1t as ClonableFn<_#0t>>, skol_obligation_trait_ref=<F as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<F as ClonableFn<T>> == <_#1t as ClonableFn<_#0t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (F, _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=F dir=EqTo b_vid=_#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=F, for_vid=_#1t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { F, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=F, dir=EqTo, b_vid=_#1t, generalized b_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (T, _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=T dir=EqTo b_vid=_#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=T, for_vid=_#0t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { T, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=T, dir=EqTo, b_vid=_#0t, generalized b_ty=T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: success impl_substs=[_#0t, _#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_impl_candidate: substs=Normalized([_#0t, _#1t],[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: vtable_impl(impl_def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]), substs=Normalized([_#0t, _#1t],[]), recursion_depth=1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=Binder(ProjectionPredicate(ProjectionTy { substs: [_#1t, (_#0t,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_#1t as std::marker::Sized>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<F as std::marker::Sized>)) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_#1t as std::ops::Fn<(_#0t,)>>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_#0t as std::marker::Sized>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<T as std::marker::Sized>)) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: vtable_impl: impl_def_id=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]) impl_obligations=[Obligation(predicate=Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<F as ClonableFn<T>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=1), Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<F as ClonableFn<T>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=1), Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<F as ClonableFn<T>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=1), Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<F as ClonableFn<T>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=1)]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<F as ClonableFn<T>>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<T as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=T)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<T as std::marker::Sized>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<T as std::marker::Sized>) <: Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<T as std::marker::Sized>), b=Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<T as std::marker::Sized>), result=<T as std::marker::Sized>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::marker::Sized>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::marker::Sized>) <: Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::marker::Sized>), b=Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<T as std::marker::Sized>), result=<T as std::marker::Sized>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (F, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)): [ParamCandidate(Binder(<T as std::marker::Sized>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<T as std::marker::Sized>)))=Ok(Some(ParamCandidate(Binder(<T as std::marker::Sized>))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<T as std::marker::Sized>, candidate=Ok(Some(ParamCandidate(Binder(<T as std::marker::Sized>))))) local
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), ParamCandidate(Binder(<T as std::marker::Sized>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0),Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<T as std::marker::Sized>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<T as std::marker::Sized>) <: Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<T as std::marker::Sized>), b=Binder(<T as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<T as std::marker::Sized>), result=<T as std::marker::Sized>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, T)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<T as std::marker::Sized>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<(T,) as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=(T,))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: builtin_bound: nested=Binder([T])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<T as std::marker::Sized>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<T as std::marker::Sized>) <: Binder(<(T,) as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<T as std::marker::Sized>), b=Binder(<(T,) as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<(T,) as std::marker::Sized>), result=<(T,) as std::marker::Sized>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<(T,) as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (T, (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::marker::Sized>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::marker::Sized>) <: Binder(<(T,) as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::marker::Sized>), b=Binder(<(T,) as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<(T,) as std::marker::Sized>), result=<(T,) as std::marker::Sized>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<(T,) as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (F, (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)): [BuiltinCandidate { has_nested: true }]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<(T,) as std::marker::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: true }))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<(T,) as std::marker::Sized>, candidate=Ok(Some(BuiltinCandidate { has_nested: true }))) local
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), BuiltinCandidate { has_nested: true })
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<(T,) as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), true)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: in_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(T), result=T, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=T)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=T with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_builtin_candidate: obligations=[Obligation(predicate=Binder(TraitPredicate(<T as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: BuiltinDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<(T,) as std::marker::Sized>), parent_code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=1)]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<(T,) as std::marker::Sized>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: with_query_mode(Canonical)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_predicate_recursively(previous_stack=None, obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)) - in global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<() as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=())
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: builtin_bound: nested=Binder([])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)): [BuiltinCandidate { has_nested: false }]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<() as std::marker::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<() as std::marker::Sized>, candidate=Ok(Some(BuiltinCandidate { has_nested: false }))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), BuiltinCandidate { has_nested: false })
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), false)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_builtin_candidate: obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: EVAL(Binder(<() as std::marker::Sized>))=EvaluatedToOk
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_evaluation_cache(trait_ref=Binder(<() as std::marker::Sized>), candidate=EvaluatedToOk) global
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as std::marker::Sized>))` at depth 0 evaluated to holds
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)))=Ok(Some(ParamCandidate(Binder(<F as std::ops::FnOnce<(T,)>>))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), ParamCandidate(Binder(<F as std::ops::FnOnce<(T,)>>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0),Binder(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:983 ~ core[6569]::ops[0]::function[0]::FnOnce[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::ops::FnOnce<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::ops::FnOnce<(T,)>>) <: Binder(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::ops::FnOnce<(T,)>>), b=Binder(<F as std::ops::FnOnce<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::ops::FnOnce<(T,)>>), result=<F as std::ops::FnOnce<(T,)>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((T,), (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<F as std::ops::FnOnce<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<F as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<T as std::marker::Sized>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<T as std::marker::Sized>) <: Binder(<F as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<T as std::marker::Sized>), b=Binder(<F as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::marker::Sized>), result=<F as std::marker::Sized>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<T as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(T, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (T, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::marker::Sized>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::marker::Sized>) <: Binder(<F as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::marker::Sized>), b=Binder(<F as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::marker::Sized>), result=<F as std::marker::Sized>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<F as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)): [ParamCandidate(Binder(<F as std::marker::Sized>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<F as std::marker::Sized>)))=Ok(Some(ParamCandidate(Binder(<F as std::marker::Sized>))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<F as std::marker::Sized>, candidate=Ok(Some(ParamCandidate(Binder(<F as std::marker::Sized>))))) local
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), ParamCandidate(Binder(<F as std::marker::Sized>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0),Binder(<F as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:840 ~ core[6569]::marker[0]::Sized[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::marker::Sized>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::marker::Sized>) <: Binder(<F as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::marker::Sized>), b=Binder(<F as std::marker::Sized>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::marker::Sized>), result=<F as std::marker::Sized>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<F as std::marker::Sized>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<F as std::marker::Sized>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), result=TraitPredicate(<F as std::ops::FnMut<(T,)>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#2t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "A")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#3t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<&'_#0r _#3t as std::ops::FnMut<_#2t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#0r _#3t as std::ops::FnMut<_#2t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(2/0:989 ~ core[6569]::ops[0]::function[0]::impls[0]::{{impl}}[1]), obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#0r _#3t as std::ops::FnMut<_#2t>>, skol_obligation_trait_ref=<F as std::ops::FnMut<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<F as std::ops::FnMut<(T,)>> == <&'_#0r _#3t as std::ops::FnMut<_#2t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(1)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, &'_#0r _#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (F, &'_#0r _#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected type parameter, found reference`
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#2t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#3t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), result=TraitPredicate(<F as std::ops::FnMut<(T,)>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#2t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "A")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#3t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<&'_#0r mut _#3t as std::ops::FnMut<_#2t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#0r mut _#3t as std::ops::FnMut<_#2t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(2/0:994 ~ core[6569]::ops[0]::function[0]::impls[0]::{{impl}}[3]), obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#0r mut _#3t as std::ops::FnMut<_#2t>>, skol_obligation_trait_ref=<F as std::ops::FnMut<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<F as std::ops::FnMut<(T,)>> == <&'_#0r mut _#3t as std::ops::FnMut<_#2t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(1)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, &'_#0r mut _#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (F, &'_#0r mut _#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected type parameter, found mutable reference`
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#2t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#3t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_object_ty(self_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::ops::FnMut<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::ops::FnMut<(T,)>>) <: Binder(<F as std::ops::FnMut<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::ops::FnMut<(T,)>>), b=Binder(<F as std::ops::FnMut<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::ops::FnMut<(T,)>>), result=<F as std::ops::FnMut<(T,)>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::ops::FnMut<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::ops::FnMut<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((T,), (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<F as std::ops::FnMut<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)): [ParamCandidate(Binder(<F as std::ops::FnMut<(T,)>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)))=Ok(Some(ParamCandidate(Binder(<F as std::ops::FnMut<(T,)>>))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<F as std::ops::FnMut<(T,)>>, candidate=Ok(Some(ParamCandidate(Binder(<F as std::ops::FnMut<(T,)>>))))) local
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), ParamCandidate(Binder(<F as std::ops::FnMut<(T,)>>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0),Binder(<F as std::ops::FnMut<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::ops::FnMut<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::ops::FnMut<(T,)>>) <: Binder(<F as std::ops::FnMut<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::ops::FnMut<(T,)>>), b=Binder(<F as std::ops::FnMut<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::ops::FnMut<(T,)>>), result=<F as std::ops::FnMut<(T,)>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::ops::FnMut<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::ops::FnMut<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((T,), (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<F as std::ops::FnMut<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), result=TraitPredicate(<F as std::ops::Fn<(T,)>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#2t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "A")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#3t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<&'_#0r _#3t as std::ops::Fn<_#2t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#0r _#3t as std::ops::Fn<_#2t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl(impl_def_id=DefId(2/0:987 ~ core[6569]::ops[0]::function[0]::impls[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#0r _#3t as std::ops::Fn<_#2t>>, skol_obligation_trait_ref=<F as std::ops::Fn<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<F as std::ops::Fn<(T,)>> == <&'_#0r _#3t as std::ops::Fn<_#2t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(1)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, &'_#0r _#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (F, &'_#0r _#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = false
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=commit_if_ok -- error)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected type parameter, found reference`
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#2t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#3t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_object_ty(self_ty=F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::ops::Fn<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::ops::Fn<(T,)>>) <: Binder(<F as std::ops::Fn<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::ops::Fn<(T,)>>), b=Binder(<F as std::ops::Fn<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::ops::Fn<(T,)>>), result=<F as std::ops::Fn<(T,)>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::ops::Fn<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::ops::Fn<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((T,), (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<F as std::ops::Fn<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0)): [ParamCandidate(Binder(<F as std::ops::Fn<(T,)>>))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)))=Ok(Some(ParamCandidate(Binder(<F as std::ops::Fn<(T,)>>))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<F as std::ops::Fn<(T,)>>, candidate=Ok(Some(ParamCandidate(Binder(<F as std::ops::Fn<(T,)>>))))) local
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0), ParamCandidate(Binder(<F as std::ops::Fn<(T,)>>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0),Binder(<F as std::ops::Fn<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:1: 7:2, body_id: NodeId(14), code: ItemObligation(DefId(2/0:979 ~ core[6569]::ops[0]::function[0]::Fn[0])) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=0) poly_trait_ref=Binder(<F as std::ops::Fn<(T,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<F as std::ops::Fn<(T,)>>) <: Binder(<F as std::ops::Fn<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(<F as std::ops::Fn<(T,)>>), b=Binder(<F as std::ops::Fn<(T,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<F as std::ops::Fn<(T,)>>), result=<F as std::ops::Fn<(T,)>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<F as std::ops::Fn<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<F as std::ops::Fn<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(F, F)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((T,), (T,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<F as std::ops::Fn<(T,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: false
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: poly_project_and_unify_type(obligation=Obligation(predicate=Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<F as ClonableFn<T>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())), result=ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: project_and_unify_type(obligation=Obligation(predicate=ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<F as ClonableFn<T>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, depth=1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized((),[])`
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: project_and_unify_type: normalized_ty=() obligations=[Obligation(predicate=Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:6:12: 6:25, body_id: NodeId(14), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<F as ClonableFn<T>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [Binder(TraitPredicate(<T as std::marker::Sized>)), Binder(TraitPredicate(<F as std::ops::Fn<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnMut<(T,)>>)), Binder(TraitPredicate(<F as std::ops::FnOnce<(T,)>>)), Binder(TraitPredicate(<F as std::marker::Sized>)), Binder(ProjectionPredicate(ProjectionTy { substs: [F, (T,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ()))], reveal: UserFacing, def_id: None },depth=1)]
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(() == ())
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((), ())
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: false
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck_item(item.id=NodeId(14), wf_tys=[F, T])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::env: add_implied_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::env: add_implied_bounds: ty = F
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: implied_outlives_bounds(ty = F)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_query_response(inference_vars=CanonicalVarValues { var_values: [] }, answer=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: true_errors = []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: ambig_errors = []
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_canonicalized_query_response: canonical_result = Canonical {
max_universe: U0,
variables: [],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: []
},
region_constraints: [],
certainty: Proven,
value: []
}
}
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: []
}, query_response=Canonical {
max_universe: U0,
variables: [],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: []
},
region_constraints: [],
certainty: Proven,
value: []
}
})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution_guess(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: []
}, query_response=Canonical {
max_universe: U0,
variables: [],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: []
},
region_constraints: [],
certainty: Proven,
value: []
}
})
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: implied_outlives_bounds for F: Ok(
InferOk {
value: [],
obligations: []
}
)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::env: add_implied_bounds: ty = T
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: implied_outlives_bounds(ty = T)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_query_response(inference_vars=CanonicalVarValues { var_values: [] }, answer=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: true_errors = []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: ambig_errors = []
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_canonicalized_query_response: canonical_result = Canonical {
max_universe: U0,
variables: [],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: []
},
region_constraints: [],
certainty: Proven,
value: []
}
}
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: []
}, query_response=Canonical {
max_universe: U0,
variables: [],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: []
},
region_constraints: [],
certainty: Proven,
value: []
}
})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution_guess(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: []
}, query_response=Canonical {
max_universe: U0,
variables: [],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: []
},
region_constraints: [],
certainty: Proven,
value: []
}
})
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: implied_outlives_bounds for T: Ok(
InferOk {
value: [],
obligations: []
}
)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: visit_region_obligations: node_id=14
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: visit_item: Item { ident: Foo#0, id: NodeId(30), hir_id: HirId { owner: DefIndex(0:5), local_id: 0 }, attrs: [], node: Struct(Tuple([StructField { span: ../../issue-57843-ice-with-cloneablefn.rs:9:12: 9:43, ident: 0#0, vis: Spanned { node: Inherited, span: ../../issue-57843-ice-with-cloneablefn.rs:9:12: 9:12 }, id: NodeId(32), ty: type(Box<for<'a> ClonableFn<&'a u8>>), attrs: [] }], NodeId(43)), Generics { params: [], where_clause: WhereClause { id: NodeId(31), predicates: [] }, span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1 }), vis: Spanned { node: Inherited, span: ../../issue-57843-ice-with-cloneablefn.rs:9:1: 9:1 }, span: ../../issue-57843-ice-with-cloneablefn.rs:9:1: 9:45 }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_item_well_formed(it.id=30, it.name=Foo)
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error(region_context=DefId(0/0:5 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0]), unnormalized_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None }, cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:9:1: 9:45, body_id: NodeId(30), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: elaborated-predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: predicates=(non-outlives=[], outlives=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predicates(predicates=[], region_context=DefId(0/0:5 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0]), cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:9:1: 9:45, body_id: NodeId(30), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize_with_fulfillcx(value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=[] with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: normalized_value=[] obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error start
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error complete
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: resolved_value=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predictes: normalized predicates = []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:5 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:5 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: non-outlives predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predicates(predicates=[], region_context=DefId(0/0:5 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0]), cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:9:1: 9:45, body_id: NodeId(30), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize_with_fulfillcx(value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=[] with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: normalized_value=[] obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error start
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error complete
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: resolved_value=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predictes: normalized predicates = []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:5 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:5 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: outlives predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: final predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)> predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:9:12: 9:43, body_id: NodeId(30), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:9:12: 9:43, body_id: NodeId(30), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=InstantiatedPredicates([]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([]) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=InstantiatedPredicates([]) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_where_clauses: predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReLateBound(DebruijnIndex(0), BrAnon(1))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<FreshTy(0) as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=ObjectSafe(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:9:12: 9:43, body_id: NodeId(30), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=ObjectSafe(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:9:12: 9:43, body_id: NodeId(30), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: false
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::object_safety: object_safety_violations: DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as ClonableFn<T>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<T as std::marker::Sized>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::object_safety: object_safety_violations_for_trait(trait_def_id=DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])) = []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: false
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck_item(item.id=NodeId(30), wf_tys=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::env: add_implied_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: visit_region_obligations: node_id=30
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:5 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:5 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: visit_item: Item { ident: main#0, id: NodeId(44), hir_id: HirId { owner: DefIndex(0:6), local_id: 0 }, attrs: [], node: Fn(FnDecl { inputs: [], output: DefaultReturn(../../issue-57843-ice-with-cloneablefn.rs:11:11: 11:11), variadic: false, implicit_self: None }, FnHeader { unsafety: Normal, constness: NotConst, asyncness: NotAsync, abi: Rust }, Generics { params: [], where_clause: WhereClause { id: NodeId(45), predicates: [] }, span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1 }, BodyId { node_id: NodeId(65) }), vis: Spanned { node: Inherited, span: ../../issue-57843-ice-with-cloneablefn.rs:11:1: 11:1 }, span: ../../issue-57843-ice-with-cloneablefn.rs:11:1: 13:2 }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_item_well_formed(it.id=44, it.name=main)
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error(region_context=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]), unnormalized_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None }, cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:1: 13:2, body_id: NodeId(65), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: elaborated-predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: predicates=(non-outlives=[], outlives=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predicates(predicates=[], region_context=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]), cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:1: 13:2, body_id: NodeId(65), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize_with_fulfillcx(value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=[] with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: normalized_value=[] obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error start
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error complete
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: resolved_value=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predictes: normalized predicates = []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: non-outlives predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predicates(predicates=[], region_context=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]), cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:1: 13:2, body_id: NodeId(65), code: MiscObligation })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize_with_fulfillcx(value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=[] with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: normalized_value=[] obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error start
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: select_all_or_error complete
DEBUG 2019-01-29T13:50:22Z: rustc::traits: fully_normalize: resolved_value=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: do_normalize_predictes: normalized predicates = []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: outlives predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits: normalize_param_env_or_error: final predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=Binder(([]; variadic: false)->()))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([]; variadic: false)->()))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([]; variadic: false)->()) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=Binder(([]; variadic: false)->()) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=Binder(([]; variadic: false)->()))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([]; variadic: false)->()))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([]; variadic: false)->()) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=Binder(([]; variadic: false)->()) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=(),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:1: 13:2, body_id: NodeId(44), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=(),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:1: 13:2, body_id: NodeId(44), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
TRACE 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_existential_types: (), Tuple([])
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=InstantiatedPredicates([]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([]) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=InstantiatedPredicates([]) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::wfcheck: check_where_clauses: predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: false
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck_item(item.id=NodeId(44), wf_tys=[()])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::env: add_implied_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::env: add_implied_bounds: ty = ()
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: implied_outlives_bounds(ty = ())
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_query_response(inference_vars=CanonicalVarValues { var_values: [] }, answer=[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: true_errors = []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: ambig_errors = []
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_canonicalized_query_response: canonical_result = Canonical {
max_universe: U0,
variables: [],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: []
},
region_constraints: [],
certainty: Proven,
value: []
}
}
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: []
}, query_response=Canonical {
max_universe: U0,
variables: [],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: []
},
region_constraints: [],
certainty: Proven,
value: []
}
})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution_guess(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: []
}, query_response=Canonical {
max_universe: U0,
variables: [],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: []
},
region_constraints: [],
certainty: Proven,
value: []
}
})
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: implied_outlives_bounds for (): Ok(
InferOk {
value: [],
obligations: []
}
)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: visit_region_obligations: node_id=44
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: RegionConstraintData: resolve_regions()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() Start constraint listing (context=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0])) ()----
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ----() End constraint listing (context=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0])) ()---
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion1
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 1 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_var_errors
DEBUG 2019-01-29T13:50:22Z: rustc::infer: is_tainted_by_errors(err_count=0, err_count_on_creation=0, tainted_by_errors_flag=false)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors(): 0 errors to start, suppress = SuppressRegionErrors { suppressed: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: process_errors()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::error_reporting: report_region_errors: 0 errors after preprocessing
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_item_type(it.id=3, it.name={{?}})
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_item_type(it.id=9, it.name=std)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_item_type(it.id=11, it.name=ClonableFn)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_item_type(it.id=14, it.name=<F as ClonableFn<T>>)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: ItemKind::Impl with id 14
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_item_type(it.id=30, it.name=Foo)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'rx)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'rx)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, '_)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'a)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_item_type(it.id=44, it.name=main)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=([]; variadic: false)->())
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=([]; variadic: false)->())
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=([]; variadic: false)->() with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=([]; variadic: false)->() predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_fn(sig=([]; variadic: false)->(), fn_id=44, param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 11:11, body_id: NodeId(65), code: SizedReturnType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_opaque_types_from_value(parent_def_id=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]), value=())
DEBUG 2019-01-29T13:50:22Z: rustc::infer::opaque_types: instantiate_opaque_types(value=(), parent_def_id=DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]), body_id=NodeId(65), param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc::infer::opaque_types: instantiate_opaque_types_in_map(value=())
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: >> type-checking: expr=expr(65: { Foo(<Box>::new(|| )); }) expected=ExpectHasType(())
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_expr_kind(expr=expr(65: { Foo(<Box>::new(|| )); }), expected=ExpectHasType(()), needs=None)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: >> type-checking: expr=expr(58: Foo(<Box>::new(|| ))) expected=NoExpectation
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_expr_kind(expr=expr(58: Foo(<Box>::new(|| ))), expected=NoExpectation, needs=None)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: >> type-checking: expr=expr(48: Foo) expected=NoExpectation
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_expr_kind(expr=expr(48: Foo), expected=NoExpectation, needs=None)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_ty_and_def_ufcs: qpath=Resolved(None, path(Foo)) node_id=NodeId(48) span=../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:8
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_value_path(segments=[PathSegment { ident: Foo#0, id: Some(NodeId(47)), def: Some(Err), args: None, infer_types: true }], self_ty=None, def=StructCtor(DefId(0/1:12 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0]::{{constructor}}[0]), Fn), node_id=48)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_user_type_annotation_from_substs: hir_id=HirId { owner: DefIndex(0:6), local_id: 3 } def_id=DefId(0/1:12 ~ issue_57843_ice_with_cloneablefn[317d]::Foo[0]::{{constructor}}[0]) substs=[] user_self_ty=None in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=InstantiatedPredicates([]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([]) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=InstantiatedPredicates([]) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_bounds(bounds=GenericPredicates([]), substs=[]) = InstantiatedPredicates([])
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: add_obligations_for_parameters(predicates=InstantiatedPredicates([]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([]))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo} with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo} predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_type_scheme(value=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}, substs=[]) = fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_value_path: type of NodeId(48) is fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:6), local_id: 3 }, fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: type of expr Foo (id=48) is...
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: ... fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}, expected is NoExpectation
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo})
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::autoderef: autoderef stage #0 is fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo})
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::callee: try_overloaded_call_step(call_expr=expr(58: Foo(<Box>::new(|| ))), adjusted_ty=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo})
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: apply_adjustments(expr=expr(48: Foo), adj=[])
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=([std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>]; variadic: false)->Foo)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=([std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>]; variadic: false)->Foo)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=([std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>]; variadic: false)->Foo with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=([std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>]; variadic: false)->Foo predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations(ty=Foo)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=Foo
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:26, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:26, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_argument_types: formal_tys=["std::boxed::Box<(dyn for<\'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), \'a)) u8> + ReStatic)>"]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_closures=false
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: checking the argument
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: >> type-checking: expr=expr(57: <Box>::new(|| )) expected=ExpectHasType(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_expr_kind(expr=expr(57: <Box>::new(|| )), expected=ExpectHasType(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>), needs=None)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: >> type-checking: expr=expr(51: <Box>::new) expected=NoExpectation
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_expr_kind(expr=expr(51: <Box>::new), expected=NoExpectation, needs=None)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_ty_and_def_ufcs: qpath=TypeRelative(type(Box), PathSegment { ident: new#0, id: Some(NodeId(50)), def: Some(Err), args: None, infer_types: true }) node_id=NodeId(51) span=../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#0t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=std::boxed::Box<_#0t>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=std::boxed::Box<_#0t>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=std::boxed::Box<_#0t> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=std::boxed::Box<_#0t> predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:6), local_id: 5 }, std::boxed::Box<_#0t>) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=std::boxed::Box<_#0t>,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=std::boxed::Box<_#0t>,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method: resolve_ufcs: method_name=new#0 self_ty=std::boxed::Box<_#0t> expr_id=NodeId(51)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: probe(self_ty=std::boxed::Box<_#0t>, item_name=new, scope_expr_id=51)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: type var found with vid _#0t
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#1t, diverging=false, origin=MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical: instantiate_canonical_var returns _#1t
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: probe_op: Mode::Path, param_env_and_self_ty=Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None }, value: std::boxed::Box<^0> } } self_ty=std::boxed::Box<_#1t>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: type var found with vid _#1t
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: type var found with vid _#1t
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#1t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: ProbeContext: steps for self_ty=std::boxed::Box<_#0t> are MethodAutoderefStepsResult { steps: [CandidateStep { self_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: QueryResponse { var_values: CanonicalVarValues { var_values: [^0] }, region_constraints: [], certainty: Proven, value: std::boxed::Box<^0> } }, autoderefs: 0, from_unsafe_deref: false, unsize: false }], opt_bad_ty: None, reached_recursion_limit: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: assemble_probe: self_ty=Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: QueryResponse { var_values: CanonicalVarValues { var_values: [^0] }, region_constraints: [], certainty: Proven, value: std::boxed::Box<^0> } }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: assemble_inherent_impl_probe DefId(5/0:96 ~ alloc[324d]::boxed[0]::{{impl}}[0])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#1t, diverging=false, origin=SubstitutionPlaceholder(/home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/liballoc/boxed.rs:88:1: 111:2)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=(std::boxed::Box<_#1t>, None))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=(std::boxed::Box<_#1t>, None) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: assemble_inherent_impl_probe: xform_self_ty = std::boxed::Box<_#1t>/None
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: assemble_inherent_impl_probe DefId(5/0:99 ~ alloc[324d]::boxed[0]::{{impl}}[1])
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: assemble_inherent_impl_probe DefId(5/0:157 ~ alloc[324d]::boxed[0]::{{impl}}[19])
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: assemble_inherent_impl_probe DefId(5/0:159 ~ alloc[324d]::boxed[0]::{{impl}}[20])
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: pick_core: step=CandidateStep { self_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: QueryResponse { var_values: CanonicalVarValues { var_values: [^0] }, region_constraints: [], certainty: Proven, value: std::boxed::Box<^0> } }, autoderefs: 0, from_unsafe_deref: false, unsize: false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: [
_#0t
]
}, query_response=Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Ty(
General(
U0
)
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
^0
]
},
region_constraints: [],
certainty: Proven,
value: std::boxed::Box<^0>
}
})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution_guess(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: [
_#0t
]
}, query_response=Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Ty(
General(
U0
)
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
^0
]
},
region_constraints: [],
certainty: Proven,
value: std::boxed::Box<^0>
}
})
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(_#0t == _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(_#0t, _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: pick_method(self_ty=std::boxed::Box<_#0t>)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: searching inherent candidates
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: consider_probe: self_ty=std::boxed::Box<_#0t> probe=Candidate { xform_self_ty: std::boxed::Box<_#1t>, xform_ret_ty: None, item: AssociatedItem { def_id: DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0]), ident: new#0, kind: Method, vis: Public, defaultness: Final, container: ImplContainer(DefId(5/0:96 ~ alloc[324d]::boxed[0]::{{impl}}[0])), method_has_self_argument: false }, kind: InherentImplCandidate([_#1t], []), import_id: None }
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(std::boxed::Box<_#0t> <: std::boxed::Box<_#1t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys(std::boxed::Box<_#0t>, std::boxed::Box<_#1t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys(_#0t, _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<_#1t as std::marker::Sized>))]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<_#1t as std::marker::Sized>))]) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([Binder(TraitPredicate(<_#1t as std::marker::Sized>))]))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: impl_obligations=[Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: consider_probe - candidate_obligations=[Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)] sub_obligations=[Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _#0t, b: _#1t }),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)]
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: type var found with vid _#1t
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#0t, diverging=false, origin=MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical: instantiate_canonical_var returns _#0t
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: with_query_mode(Canonical)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_predicate_recursively(previous_stack=None, obligation=Obligation(predicate=Binder(TraitPredicate(<_#0t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<_#0t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_#0t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate set contains ambig
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<FreshTy(0) as std::marker::Sized>)))=Ok(None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<FreshTy(0) as std::marker::Sized>, candidate=Ok(None)) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: EVAL(Binder(<FreshTy(0) as std::marker::Sized>))=EvaluatedToAmbig
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_evaluation_cache(trait_ref=Binder(<FreshTy(0) as std::marker::Sized>), candidate=EvaluatedToAmbig) global
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: type var found with vid _#0t
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: type var found with vid _#1t
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#0t, diverging=false, origin=MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical: instantiate_canonical_var returns _#0t
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#1t, diverging=false, origin=MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical: instantiate_canonical_var returns _#1t
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: with_query_mode(Canonical)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_predicate_recursively(previous_stack=None, obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _#0t, b: _#1t }),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method::probe: applicable_candidates: [(Candidate { xform_self_ty: std::boxed::Box<_#1t>, xform_ret_ty: None, item: AssociatedItem { def_id: DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0]), ident: new#0, kind: Method, vis: Public, defaultness: Final, container: ImplContainer(DefId(5/0:96 ~ alloc[324d]::boxed[0]::{{impl}}[0])), method_has_self_argument: false }, kind: InherentImplCandidate([_#1t], []), import_id: None }, Match)]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#1t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method: resolve_ufcs: pick=Pick { item: AssociatedItem { def_id: DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0]), ident: new#0, kind: Method, vis: Public, defaultness: Final, container: ImplContainer(DefId(5/0:96 ~ alloc[324d]::boxed[0]::{{impl}}[0])), method_has_self_argument: false }, kind: InherentImplPick, import_id: None, autoderefs: 0, autoref: None, unsize: None }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::method: resolve_ufcs: def=Method(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0]))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_value_path(segments=[PathSegment { ident: new#0, id: Some(NodeId(50)), def: Some(Err), args: None, infer_types: true }], self_ty=Some(std::boxed::Box<_#0t>), def=Method(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])), node_id=51)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_value_path: def=Method(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) container=ImplContainer(DefId(5/0:96 ~ alloc[324d]::boxed[0]::{{impl}}[0]))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#1t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, "T")
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_user_type_annotation_from_substs: hir_id=HirId { owner: DefIndex(0:6), local_id: 7 } def_id=DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0]) substs=[_#1t] user_self_ty=Some(UserSelfTy { impl_def_id: DefId(5/0:96 ~ alloc[324d]::boxed[0]::{{impl}}[0]), self_ty: std::boxed::Box<_#0t> }) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: type var found with vid _#1t
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: type var found with vid _#0t
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_user_type_annotation_from_substs: canonicalized=Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }], value: TypeOf(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0]), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5/0:96 ~ alloc[324d]::boxed[0]::{{impl}}[0]), self_ty: std::boxed::Box<^1> }) }) }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_user_type_annotation: hir_id=HirId { owner: DefIndex(0:6), local_id: 7 } canonical_user_type_annotation=Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }], value: TypeOf(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0]), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5/0:96 ~ alloc[324d]::boxed[0]::{{impl}}[0]), self_ty: std::boxed::Box<^1> }) }) } tag=0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=InstantiatedPredicates([Binder(TraitPredicate(<_#1t as std::marker::Sized>))]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<_#1t as std::marker::Sized>))]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<_#1t as std::marker::Sized>))]) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=InstantiatedPredicates([Binder(TraitPredicate(<_#1t as std::marker::Sized>))]) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_bounds(bounds=GenericPredicates([]), substs=[_#1t]) = InstantiatedPredicates([Binder(TraitPredicate(<_#1t as std::marker::Sized>))])
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: add_obligations_for_parameters(predicates=InstantiatedPredicates([Binder(TraitPredicate(<_#1t as std::marker::Sized>))]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([Binder(TraitPredicate(<_#1t as std::marker::Sized>))]))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: ItemObligation(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: ItemObligation(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new} with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new} predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_type_scheme(value=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new}, substs=[_#1t]) = fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new}
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=std::boxed::Box<_#1t>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=std::boxed::Box<_#1t>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=std::boxed::Box<_#1t> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=std::boxed::Box<_#1t> predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_type_scheme(value=std::boxed::Box<_#1t>, substs=[_#1t]) = std::boxed::Box<_#1t>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(std::boxed::Box<_#0t> <: std::boxed::Box<_#1t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys(std::boxed::Box<_#0t>, std::boxed::Box<_#1t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys(_#0t, _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _#0t, b: _#1t }),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _#0t, b: _#1t }),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: instantiate_value_path: type of NodeId(51) is fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_substs(HirId { owner: DefIndex(0:6), local_id: 7 }, [_#1t]) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=_#1t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_#1t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:6), local_id: 7 }, fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new}) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: type of expr <Box>::new (id=51) is...
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: ... fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new}, expected is NoExpectation
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=6)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: with_query_mode(Canonical)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_predicate_recursively(previous_stack=None, obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(0), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)) - in global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE HIT: EVAL(Binder(<() as std::marker::Sized>))=EvaluatedToOk
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as std::marker::Sized>))` at depth 0 evaluated to holds
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReLateBound(DebruijnIndex(0), BrAnon(1))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<FreshTy(0) as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)) predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=ObjectSafe(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:26, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=ObjectSafe(DefId(0/0:3 ~ issue_57843_ice_with_cloneablefn[317d]::ClonableFn[0])),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:26, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_#0t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_#0t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: ItemObligation(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: ItemObligation(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as std::marker::Sized>)))=Ok(None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_#1t as std::marker::Sized>))` at depth 0 yielded Ok(None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: ItemObligation(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) now stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: false
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: ItemObligation(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _#0t, b: _#1t }),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#0t, _#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_#1t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: false
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: ItemObligation(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _#0t, b: _#1t }),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#0t, _#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_#1t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_#0t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#0t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::autoderef: autoderef stage #0 is fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=5)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: ItemObligation(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _#0t, b: _#1t }),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#0t, _#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_#1t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_#0t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#0t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::callee: try_overloaded_call_step(call_expr=expr(57: <Box>::new(|| )), adjusted_ty=fn(_#1t) -> std::boxed::Box<_#1t> {<std::boxed::Box<T>><_#1t>::new})
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: apply_adjustments(expr=expr(51: <Box>::new), adj=[])
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=([_#1t]; variadic: false)->std::boxed::Box<_#1t>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=([_#1t]; variadic: false)->std::boxed::Box<_#1t>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=([_#1t]; variadic: false)->std::boxed::Box<_#1t> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in: result=([_#1t]; variadic: false)->std::boxed::Box<_#1t> predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations(ty=std::boxed::Box<_#1t>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=5)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: ItemObligation(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _#0t, b: _#1t }),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#0t, _#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_#1t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_#0t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#0t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=std::boxed::Box<_#1t>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::fudge: fudge_regions_if_ok(origin=Coercion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: probe()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(std::boxed::Box<_#1t> <: std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok()
DEBUG 2019-01-29T13:50:22Z: rustc::infer: start_snapshot()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: start_snapshot(0)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys(std::boxed::Box<_#1t>, std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys(_#1t, (dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic) dir=SupertypeOf b_vid=_#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic), for_vid=_#1t, dir=SupertypeOf
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with origin MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#0r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { (dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r), false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic), dir=SupertypeOf, b_vid=_#1t, generalized b_ty=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r), (dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: sub with_cause=ExistentialRegionBound
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.regions(ReStatic, '_#0r) self.cause=Some(ExistentialRegionBound)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion(ReStatic, '_#0r) due to Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: MiscObligation }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(RegSubVar(ReStatic, '_#0r))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: sub old_cause=None
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder([Trait(ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>)]), b=Binder([Trait(ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>)]))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders callback created RePlaceholder RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) })
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) })) = HAS_RE_PLACEHOLDER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder([Trait(ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>)]), result=[Trait(ClonableFn<&RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8>)], map={BrNamed(crate0:DefIndex(1:14), 'a): RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) })})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin LateBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, BrNamed(crate0:DefIndex(1:14), 'a), HigherRankedType)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#1r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=[Trait(ClonableFn<&'_#1r u8>)]
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=[Trait(ClonableFn<&RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8>)]
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(&'_#1r u8, &RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (&'_#1r u8, &RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.regions('_#1r, RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion('_#1r, RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) })) due to Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: MiscObligation }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(VarSubReg('_#1r, RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) })))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion(RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#1r) due to Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: MiscObligation }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(RegSubVar(RePlaceholder(Placeholder { universe: U1, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#1r))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(u8, u8)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#1r) = HAS_RE_INFER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES | KEEP_IN_LOCAL_TCX
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=[Trait(ClonableFn<&'_#1r u8>)]
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReStatic) = HAS_FREE_REGIONS
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_if_ok() -- r.is_ok() = true
DEBUG 2019-01-29T13:50:22Z: rustc::infer: commit_from()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: commit(0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: rollback_to()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: rollback_to(RegionSnapshot(length=0))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with origin Coercion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: expected_inputs_for_expected_output(formal=[_#1t] -> std::boxed::Box<_#1t>, expected=[(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)] -> ExpectHasType(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=_#1t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_#1t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_argument_types: formal_tys=["_#1t"]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_closures=false
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_closures=true
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=5)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: starting another iteration
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_#1t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: ItemObligation(DefId(5/0:97 ~ alloc[324d]::boxed[0]::{{impl}}[0]::new[0])) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _#0t, b: _#1t }),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#0t, _#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_#1t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#1t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_#0t,cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#0t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select: outcome=Outcome {
completed: None,
errors: [],
stalled: true
}
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: checking the argument
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: >> type-checking: expr=expr(56: ||) expected=ExpectRvalueLikeUnsized((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_expr_kind(expr=expr(56: ||), expected=ExpectRvalueLikeUnsized((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)), needs=None)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::closure: check_expr_closure(expr=expr(56: ||),expe