Skip to content

Instantly share code, notes, and snippets.

@pnkfelix
Created January 29, 2019 14:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pnkfelix/070ea7fe4b4a95c8129c06694cbeb457 to your computer and use it in GitHub Desktop.
Save pnkfelix/070ea7fe4b4a95c8129c06694cbeb457 to your computer and use it in GitHub Desktop.
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: ||),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::closure: deduce_expectations_from_expected_type(expected_ty=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::closure: check_closure(opt_kind=None, expected_sig=None)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::closure: sig_of_closure_no_expectation()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#2t, diverging=false, origin=TypeInference(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#3t, diverging=false, origin=TypeInference(../../issue-57843-ice-with-cloneablefn.rs:12:19: 12:20)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:6), local_id: 8 }, _#3t) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::closure: supplied_sig_of_closure: result=Binder(([_#3t]; variadic: false)->_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: type var found with vid _#3t
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: type var found with vid _#2t
DEBUG 2019-01-29T13:50:22Z: rustc::infer: partially_normalize_associated_types_in(value=([_#3t]; variadic: false)->_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=([_#3t]; variadic: false)->_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=([_#3t]; variadic: false)->_#2t 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=([_#3t]; variadic: false)->_#2t predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::closure: check_closure: ty_of_closure returns ([_#3t]; variadic: false)->_#2t
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_fn(sig=([_#3t]; variadic: false)->_#2t, fn_id=56, 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(<_#2t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), 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/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), value=_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::opaque_types: instantiate_opaque_types(value=_#2t, parent_def_id=DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), body_id=NodeId(55), 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=_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::_match: check_pat_walk(pat=pat(53: _),expected=_#3t,def_bm=BindByValue(MutImmutable))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:6), local_id: 11 }, _#3t) in fcx 0x7f5cd65fb690
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },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: 10 }, _#3t) in fcx 0x7f5cd65fb690
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: >> type-checking: expr=expr(55: ()) expected=ExpectHasType(_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: check_expr_kind(expr=expr(55: ()), expected=ExpectHasType(_#2t), needs=None)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations(ty=_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=7)
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::select: select(Obligation(predicate=Binder(TraitPredicate(<_#2t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedReturnType },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(<_#2t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedReturnType },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(<_#2t 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(<_#2t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedReturnType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) now stalled on [_#2t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },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(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },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(<_#3t 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(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) now stalled on [_#3t]
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(7 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=_#2t
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:12:22: 12:24, body_id: NodeId(55), code: TupleInitializerSized },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: 9 }, ()) in fcx 0x7f5cd65fb690
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: type of expr () (id=55) is...
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: ... (), expected is ExpectHasType(_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations(ty=())
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=()
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coercion::try(expr(55: ()): () -> _#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_typeck::check::coercion: Coerce.tys(() => _#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_typeck::check::coercion: coerce_unsized(source=(), target=_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#4t, diverging=false, origin=MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24)
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: sub(_#4t <: _#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::sub: Sub.tys(_#4t, _#2t)
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::coercion: coerce_unsized resolve step: Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), 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(<() as std::ops::CoerceUnsized<FreshTy(0)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), 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: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(1, 'b)) = 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, 'b)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'b)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(1, 'b)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'b)) = HAS_RE_EARLY_BOUND | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReEarlyBound(0, 'b)) = 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(1, 'b)) = 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::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)), result=TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#2r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "\'b")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#5t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#6t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "U")
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::ty::sty: type_flags('_#2r) = 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('_#1r) = 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=<&'_#2r mut _#5t as std::ops::CoerceUnsized<&'_#1r _#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#2r mut _#5t as std::ops::CoerceUnsized<&'_#1r _#6t>> 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:1117 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[1]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#2r mut _#5t as std::ops::CoerceUnsized<&'_#1r _#6t>>, skol_obligation_trait_ref=<() as std::ops::CoerceUnsized<_#4t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::ops::CoerceUnsized<_#4t>> == <&'_#2r mut _#5t as std::ops::CoerceUnsized<&'_#1r _#6t>>)
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(2)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((), &'_#2r mut _#5t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((), &'_#2r mut _#5t)
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=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected (), 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 _#5t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#6t 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, '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::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)), result=TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#5t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#6t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "U")
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::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::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::traits::project: normalize_with_depth(depth=1, value=<&'_#1r mut _#5t as std::ops::CoerceUnsized<&'_#1r mut _#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#1r mut _#5t as std::ops::CoerceUnsized<&'_#1r mut _#6t>> 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:1116 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#1r mut _#5t as std::ops::CoerceUnsized<&'_#1r mut _#6t>>, skol_obligation_trait_ref=<() as std::ops::CoerceUnsized<_#4t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::ops::CoerceUnsized<_#4t>> == <&'_#1r mut _#5t as std::ops::CoerceUnsized<&'_#1r mut _#6t>>)
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((), &'_#1r mut _#5t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((), &'_#1r mut _#5t)
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 (), 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 _#5t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#6t 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, 'a)) = 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(<() as std::ops::CoerceUnsized<_#4t>>)), result=TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#5t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#6t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "U")
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::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::traits::project: normalize_with_depth(depth=1, value=<&'_#1r mut _#5t as std::ops::CoerceUnsized<*const _#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#1r mut _#5t as std::ops::CoerceUnsized<*const _#6t>> 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:1119 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[3]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#1r mut _#5t as std::ops::CoerceUnsized<*const _#6t>>, skol_obligation_trait_ref=<() as std::ops::CoerceUnsized<_#4t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::ops::CoerceUnsized<_#4t>> == <&'_#1r mut _#5t as std::ops::CoerceUnsized<*const _#6t>>)
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((), &'_#1r mut _#5t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((), &'_#1r mut _#5t)
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 (), 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 _#5t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#6t 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, 'a)) = 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(<() as std::ops::CoerceUnsized<_#4t>>)), result=TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#5t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#6t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "U")
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::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::traits::project: normalize_with_depth(depth=1, value=<&'_#1r _#5t as std::ops::CoerceUnsized<*const _#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#1r _#5t as std::ops::CoerceUnsized<*const _#6t>> 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:1121 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[5]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#1r _#5t as std::ops::CoerceUnsized<*const _#6t>>, skol_obligation_trait_ref=<() as std::ops::CoerceUnsized<_#4t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::ops::CoerceUnsized<_#4t>> == <&'_#1r _#5t as std::ops::CoerceUnsized<*const _#6t>>)
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((), &'_#1r _#5t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((), &'_#1r _#5t)
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 (), 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 _#5t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#6t 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, 'a)) = 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(<() as std::ops::CoerceUnsized<_#4t>>)), result=TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#5t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#6t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "U")
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::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::traits::project: normalize_with_depth(depth=1, value=<&'_#1r mut _#5t as std::ops::CoerceUnsized<*mut _#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#1r mut _#5t as std::ops::CoerceUnsized<*mut _#6t>> 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:1118 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[2]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#1r mut _#5t as std::ops::CoerceUnsized<*mut _#6t>>, skol_obligation_trait_ref=<() as std::ops::CoerceUnsized<_#4t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::ops::CoerceUnsized<_#4t>> == <&'_#1r mut _#5t as std::ops::CoerceUnsized<*mut _#6t>>)
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((), &'_#1r mut _#5t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((), &'_#1r mut _#5t)
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 (), 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 _#5t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#6t 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(1, 'b)) = 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::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)), result=TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#2r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "\'b")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#5t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#6t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, "U")
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::ty::sty: type_flags('_#2r) = 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('_#1r) = 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=<&'_#2r _#5t as std::ops::CoerceUnsized<&'_#1r _#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#2r _#5t as std::ops::CoerceUnsized<&'_#1r _#6t>> 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:1120 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[4]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#2r _#5t as std::ops::CoerceUnsized<&'_#1r _#6t>>, skol_obligation_trait_ref=<() as std::ops::CoerceUnsized<_#4t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::ops::CoerceUnsized<_#4t>> == <&'_#2r _#5t as std::ops::CoerceUnsized<&'_#1r _#6t>>)
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(2)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((), &'_#2r _#5t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((), &'_#2r _#5t)
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=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected (), 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 _#5t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#6t 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=())
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(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), 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::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), 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_auto_impls(self_ty=())
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(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)): []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: winnowed to 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#4t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, body_id: NodeId(55), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)): []
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<() as std::ops::CoerceUnsized<FreshTy(0)>>)))=Err(Unimplemented)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<() as std::ops::CoerceUnsized<FreshTy(0)>>, candidate=Err(Unimplemented)) global
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coerce_unsized: early return - can't prove obligation
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: inference variable _#4t 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::coercion: coerce: unsize failed
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: sub(() <: _#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::sub: Sub.tys((), _#2t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=() dir=SubtypeOf b_vid=_#2t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=(), for_vid=_#2t, dir=SubtypeOf
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=SubtypeOf, b_vid=_#2t, generalized b_ty=())
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.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::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: apply_adjustments(expr=expr(55: ()), adj=[])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(_#2t <: _#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::sub: Sub.tys(_#2t, _#2t)
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::type_variable: new_var(index=_#4t, diverging=false, origin=ClosureSynthetic(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#5t, diverging=false, origin=ClosureSynthetic(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::closure: check_closure: expr.id=NodeId(56) closure_type=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::closure: check_closure: expr_def_id=DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), sig=Binder(([(_#3t,)]; variadic: false)->_#2t), opt_kind=None
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(extern "rust-call" fn((_#3t,)) -> _#2t == _#5t)
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(extern "rust-call" fn((_#3t,)) -> _#2t, _#5t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (extern "rust-call" fn((_#3t,)) -> _#2t, _#5t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=extern "rust-call" fn((_#3t,)) -> _#2t dir=EqTo b_vid=_#5t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=extern "rust-call" fn((_#3t,)) -> _#2t, for_vid=_#5t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { extern "rust-call" fn((_#3t,)), false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=extern "rust-call" fn((_#3t,)) -> _#2t, dir=EqTo, b_vid=_#5t, generalized b_ty=extern "rust-call" fn((_#3t,)))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(extern "rust-call" fn((_#3t,)) -> _#2t, extern "rust-call" fn((_#3t,)))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (extern "rust-call" fn((_#3t,)) -> _#2t, extern "rust-call" fn((_#3t,)))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(([(_#3t,)]; variadic: false)->_#2t), b=Binder(([(_#3t,)]; variadic: false)->()))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(([(_#3t,)]; variadic: false)->()), result=([(_#3t,)]; variadic: false)->(), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=([(_#3t,)]; variadic: false)->_#2t
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=([(_#3t,)]; variadic: false)->()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys((_#3t,), (_#3t,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys(_#2t, ())
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=([(_#3t,)]; variadic: false)->()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub(a=Binder(([(_#3t,)]; variadic: false)->()), b=Binder(([(_#3t,)]; variadic: false)->_#2t))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(([(_#3t,)]; variadic: false)->_#2t), result=([(_#3t,)]; variadic: false)->_#2t, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=([(_#3t,)]; variadic: false)->()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=([(_#3t,)]; variadic: false)->_#2t
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys((_#3t,), (_#3t,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys((), _#2t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=([(_#3t,)]; variadic: false)->()
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: write_ty(HirId { owner: DefIndex(0:6), local_id: 12 }, [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: type of expr |_| () (id=56) is...
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: ... [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], expected is 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: resolve_type_vars_with_obligations(ty=_#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=7)
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: selecting trait `Binder(TraitPredicate(<() as std::marker::Sized>))` at depth 0 evaluated to holds
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#3t]
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: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#3t]
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(6 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=_#1t
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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::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: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#3t]
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(6 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coercion::try(expr(56: ||): [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] -> _#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_typeck::check::coercion: Coerce.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] => _#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_typeck::check::coercion: coerce_unsized(source=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], target=_#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#6t, diverging=false, origin=MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24)
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: sub(_#6t <: _#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(_#6t, _#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::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::coercion: coerce_unsized resolve step: Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, 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::select: select(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, 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::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<FreshTy(2)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, 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::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, 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::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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#2r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "\'b")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "U")
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::ty::sty: type_flags('_#2r) = 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('_#1r) = 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=<&'_#2r mut _#7t as std::ops::CoerceUnsized<&'_#1r _#8t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#2r mut _#7t as std::ops::CoerceUnsized<&'_#1r _#8t>> 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:1117 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[1]), obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#2r mut _#7t as std::ops::CoerceUnsized<&'_#1r _#8t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>> == <&'_#2r mut _#7t as std::ops::CoerceUnsized<&'_#1r _#8t>>)
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(2)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#2r mut _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#2r mut _#7t)
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=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected closure, 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 _#7t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#8t 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "U")
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::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::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::traits::project: normalize_with_depth(depth=1, value=<&'_#1r mut _#7t as std::ops::CoerceUnsized<&'_#1r mut _#8t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#1r mut _#7t as std::ops::CoerceUnsized<&'_#1r mut _#8t>> 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:1116 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#1r mut _#7t as std::ops::CoerceUnsized<&'_#1r mut _#8t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>> == <&'_#1r mut _#7t as std::ops::CoerceUnsized<&'_#1r mut _#8t>>)
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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#1r mut _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#1r mut _#7t)
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 closure, 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 _#7t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#8t 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "U")
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::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::traits::project: normalize_with_depth(depth=1, value=<&'_#1r mut _#7t as std::ops::CoerceUnsized<*const _#8t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#1r mut _#7t as std::ops::CoerceUnsized<*const _#8t>> 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:1119 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[3]), obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#1r mut _#7t as std::ops::CoerceUnsized<*const _#8t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>> == <&'_#1r mut _#7t as std::ops::CoerceUnsized<*const _#8t>>)
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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#1r mut _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#1r mut _#7t)
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 closure, 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 _#7t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#8t 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "U")
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::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::traits::project: normalize_with_depth(depth=1, value=<&'_#1r _#7t as std::ops::CoerceUnsized<*const _#8t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#1r _#7t as std::ops::CoerceUnsized<*const _#8t>> 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:1121 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[5]), obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#1r _#7t as std::ops::CoerceUnsized<*const _#8t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>> == <&'_#1r _#7t as std::ops::CoerceUnsized<*const _#8t>>)
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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#1r _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#1r _#7t)
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 closure, 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 _#7t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#8t 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "U")
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::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::traits::project: normalize_with_depth(depth=1, value=<&'_#1r mut _#7t as std::ops::CoerceUnsized<*mut _#8t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#1r mut _#7t as std::ops::CoerceUnsized<*mut _#8t>> 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:1118 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[2]), obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#1r mut _#7t as std::ops::CoerceUnsized<*mut _#8t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>> == <&'_#1r mut _#7t as std::ops::CoerceUnsized<*mut _#8t>>)
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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#1r mut _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#1r mut _#7t)
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 closure, 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 _#7t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#8t 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#2r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "\'b")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, "U")
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::ty::sty: type_flags('_#2r) = 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('_#1r) = 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=<&'_#2r _#7t as std::ops::CoerceUnsized<&'_#1r _#8t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#2r _#7t as std::ops::CoerceUnsized<&'_#1r _#8t>> 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:1120 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[4]), obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#2r _#7t as std::ops::CoerceUnsized<&'_#1r _#8t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>> == <&'_#2r _#7t as std::ops::CoerceUnsized<&'_#1r _#8t>>)
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(2)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#2r _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#2r _#7t)
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=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected closure, 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 _#7t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#8t 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=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, 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::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, 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::select: assemble_candidates_from_auto_impls(self_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, 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::select: winnowed to 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<_#6t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24, 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::select: CACHE MISS: SELECT(Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<FreshTy(2)>>)))=Err(Unimplemented)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::CoerceUnsized<FreshTy(2)>>, candidate=Err(Unimplemented)) global
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coerce_unsized: early return - can't prove obligation
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: inference variable _#6t 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::coercion: coerce: unsize failed
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: sub([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] <: _#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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], _#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] dir=SubtypeOf b_vid=_#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], for_vid=_#1t, dir=SubtypeOf
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], dir=SubtypeOf, b_vid=_#1t, generalized b_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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::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: apply_adjustments(expr=expr(56: ||), adj=[])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(_#1t <: _#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(_#1t, _#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=std::boxed::Box<_#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=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>,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: write_ty(HirId { owner: DefIndex(0:6), local_id: 13 }, std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: type of expr <Box>::new(|_| ()) (id=57) is...
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: ... std::boxed::Box<_#1t>, expected is 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: resolve_type_vars_with_obligations(ty=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: resolve_type_vars_with_obligations: ty=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: resolve_type_vars_with_obligations(ty=std::boxed::Box<_#1t>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=7)
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] 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: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] 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: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] 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 list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] 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)): [BuiltinCandidate { has_nested: false }]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>, candidate=Ok(Some(BuiltinCandidate { has_nested: false }))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] 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), BuiltinCandidate { has_nested: false })
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] 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), false)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_builtin_candidate: obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(SubtypePredicate { a_is_expected: false, a: _#0t, b: [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] }), result=SubtypePredicate { a_is_expected: false, a: _#0t, b: [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] }, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(_#0t <: [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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(_#0t, [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] dir=SupertypeOf b_vid=_#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], for_vid=_#0t, dir=SupertypeOf
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], dir=SupertypeOf, b_vid=_#0t, generalized b_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#3t]
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(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#3t]
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(1 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coercion::try(expr(57: <Box>::new(|| )): std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> -> 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_typeck::check::coercion: Coerce.tys(std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> => 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_typeck::check::coercion: coerce_unsized(source=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, target=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::type_variable: new_var(index=_#6t, diverging=false, origin=MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
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: sub(_#6t <: 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(_#6t, 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::combine: instantiate(a_ty=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)> dir=SupertypeOf b_vid=_#6t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>, for_vid=_#6t, dir=SupertypeOf
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#1r 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('_#1r) = 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 { std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>, dir=SupertypeOf, b_vid=_#6t, generalized b_ty=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.tys(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>, 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((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r), (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, '_#1r) self.cause=Some(ExistentialRegionBound)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion(ReStatic, '_#1r) due to Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ExprAssignable }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(RegSubVar(ReStatic, '_#1r))
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: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) })
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(RePlaceholder(Placeholder { universe: U4, 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: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8>)], map={BrNamed(crate0:DefIndex(1:14), 'a): RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) })})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#2r 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('_#2r) = 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<&'_#2r u8>)]
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=[Trait(ClonableFn<&RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8>)]
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(&'_#2r u8, &RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (&'_#2r u8, &RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.regions('_#2r, RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion('_#2r, RePlaceholder(Placeholder { universe: U4, 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: ExprAssignable }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(VarSubReg('_#2r, RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) })))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion(RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#2r) due to Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ExprAssignable }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(RegSubVar(RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#2r))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(u8, u8)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#2r) = 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<&'_#2r 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::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::coercion: coerce_unsized resolve step: Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>)),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::select: select(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>)),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::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)>>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>)),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::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)),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::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(5)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)), result=TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#3r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#4r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "\'b")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "U")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#3r) = 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('_#4r) = 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('_#3r) = 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=<&'_#4r mut _#7t as std::ops::CoerceUnsized<&'_#3r _#8t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#4r mut _#7t as std::ops::CoerceUnsized<&'_#3r _#8t>> 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:1117 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[1]), obligation=Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)),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), impl_trait_ref=<&'_#4r mut _#7t as std::ops::CoerceUnsized<&'_#3r _#8t>>, skol_obligation_trait_ref=<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>> == <&'_#4r mut _#7t as std::ops::CoerceUnsized<&'_#3r _#8t>>)
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(7)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, &'_#4r mut _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, &'_#4r mut _#7t)
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=7))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected struct `std::boxed::Box`, 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 _#7t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#8t 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=5))
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(5)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)), result=TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#3r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "U")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#3r) = 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('_#3r) = 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('_#3r) = 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=<&'_#3r mut _#7t as std::ops::CoerceUnsized<&'_#3r mut _#8t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#3r mut _#7t as std::ops::CoerceUnsized<&'_#3r mut _#8t>> 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:1116 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)),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), impl_trait_ref=<&'_#3r mut _#7t as std::ops::CoerceUnsized<&'_#3r mut _#8t>>, skol_obligation_trait_ref=<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>> == <&'_#3r mut _#7t as std::ops::CoerceUnsized<&'_#3r mut _#8t>>)
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(6)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, &'_#3r mut _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, &'_#3r mut _#7t)
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=6))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected struct `std::boxed::Box`, 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 _#7t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#8t 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=5))
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(5)
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=5))
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(5)
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=5))
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(5)
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=5))
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(5)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)), result=TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#3r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#4r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "\'b")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "U")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#3r) = 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('_#4r) = 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('_#3r) = 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=<&'_#4r _#7t as std::ops::CoerceUnsized<&'_#3r _#8t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#4r _#7t as std::ops::CoerceUnsized<&'_#3r _#8t>> 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:1120 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[4]), obligation=Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)),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), impl_trait_ref=<&'_#4r _#7t as std::ops::CoerceUnsized<&'_#3r _#8t>>, skol_obligation_trait_ref=<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>> == <&'_#4r _#7t as std::ops::CoerceUnsized<&'_#3r _#8t>>)
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(7)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, &'_#4r _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, &'_#4r _#7t)
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=7))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected struct `std::boxed::Box`, 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 _#7t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#8t 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=5))
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(5)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)), result=TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "U")
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<std::boxed::Box<_#7t> as std::ops::CoerceUnsized<std::boxed::Box<_#8t>>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<std::boxed::Box<_#7t> as std::ops::CoerceUnsized<std::boxed::Box<_#8t>>> 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(5/0:196 ~ alloc[324d]::boxed[0]::{{impl}}[34]), obligation=Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)),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), impl_trait_ref=<std::boxed::Box<_#7t> as std::ops::CoerceUnsized<std::boxed::Box<_#8t>>>, skol_obligation_trait_ref=<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>> == <std::boxed::Box<_#7t> as std::ops::CoerceUnsized<std::boxed::Box<_#8t>>>)
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(5)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, std::boxed::Box<_#7t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, std::boxed::Box<_#7t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] dir=EqTo b_vid=_#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], for_vid=_#7t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], dir=EqTo, b_vid=_#7t, generalized b_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>, std::boxed::Box<_#8t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>, std::boxed::Box<_#8t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r), _#8t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r), _#8t)
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> + '_#1r) dir=EqTo b_vid=_#8t)
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> + '_#1r), for_vid=_#8t, dir=EqTo
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('_#1r) = 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> + '_#1r), 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> + '_#1r), dir=EqTo, b_vid=_#8t, generalized b_ty=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r), (dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r))
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(5)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: success impl_substs=[_#7t, _#8t]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#7t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#8t 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=5))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_object_ty(self_ty=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>)
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(5)
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=5))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>>)),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::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>)),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::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>)),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)): [ImplCandidate(DefId(5/0:196 ~ alloc[324d]::boxed[0]::{{impl}}[34]))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)>>>)))=Ok(Some(ImplCandidate(DefId(5/0:196 ~ alloc[324d]::boxed[0]::{{impl}}[34]))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)>>>, candidate=Ok(Some(ImplCandidate(DefId(5/0:196 ~ alloc[324d]::boxed[0]::{{impl}}[34]))))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>)),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), ImplCandidate(DefId(5/0:196 ~ alloc[324d]::boxed[0]::{{impl}}[34])))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>)),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),DefId(5/0:196 ~ alloc[324d]::boxed[0]::{{impl}}[34]))
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(5)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>)), result=TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#7t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#8t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "U")
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<std::boxed::Box<_#7t> as std::ops::CoerceUnsized<std::boxed::Box<_#8t>>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<std::boxed::Box<_#7t> as std::ops::CoerceUnsized<std::boxed::Box<_#8t>>> 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(5/0:196 ~ alloc[324d]::boxed[0]::{{impl}}[34]), obligation=Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>)),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), impl_trait_ref=<std::boxed::Box<_#7t> as std::ops::CoerceUnsized<std::boxed::Box<_#8t>>>, skol_obligation_trait_ref=<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>> == <std::boxed::Box<_#7t> as std::ops::CoerceUnsized<std::boxed::Box<_#8t>>>)
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(5)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, std::boxed::Box<_#7t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, std::boxed::Box<_#7t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], _#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] dir=EqTo b_vid=_#7t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], for_vid=_#7t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], dir=EqTo, b_vid=_#7t, generalized b_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(_#6t, std::boxed::Box<_#8t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>, std::boxed::Box<_#8t>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r), _#8t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r), _#8t)
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> + '_#1r) dir=EqTo b_vid=_#8t)
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> + '_#1r), for_vid=_#8t, dir=EqTo
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('_#1r) = 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> + '_#1r), 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> + '_#1r), dir=EqTo, b_vid=_#8t, generalized b_ty=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r), (dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r))
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(5)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: success impl_substs=[_#7t, _#8t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_impl_candidate: substs=Normalized([_#7t, _#8t],[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: vtable_impl(impl_def_id=DefId(5/0:196 ~ alloc[324d]::boxed[0]::{{impl}}[34]), substs=Normalized([_#7t, _#8t],[]), recursion_depth=1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: impl_or_trait_obligations(def_id=DefId(5/0:196 ~ alloc[324d]::boxed[0]::{{impl}}[34]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_#7t as std::marker::Unsize<_#8t>>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>)) 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(5/0:196 ~ alloc[324d]::boxed[0]::{{impl}}[34]) impl_obligations=[Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [], 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(5)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coerce_unsized resolve step: Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=1))
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [], 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=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_unsizing(source=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], target=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [], 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=1))
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=1)): [BuiltinUnsizeCandidate]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)>>)))=Ok(Some(BuiltinUnsizeCandidate))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)>>, candidate=Ok(Some(BuiltinUnsizeCandidate))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Unsize<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::ops::CoerceUnsized<_#6t>>), parent_code: MiscObligation }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=1), BuiltinUnsizeCandidate)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_builtin_unsize_candidate(source=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], target=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coerce_unsized resolve step: Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coerce_unsized resolve step: Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coerce_unsized resolve step: Obligation(predicate=Binder(OutlivesPredicate([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], '_#1r)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2)
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::coercion: coerce: unsize successful
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(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Binder(OutlivesPredicate([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], '_#1r)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(OutlivesPredicate([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], '_#1r)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: apply_adjustments(expr=expr(57: <Box>::new(|| )), adj=[Unsize -> _#6t])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)> <: 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<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>, 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() -- 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: check_closures=true
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=3)
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(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#3t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2)))
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=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2))
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 callback created RePlaceholder RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(RePlaceholder(Placeholder { universe: U6, 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(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8>>), map={BrNamed(crate0:DefIndex(1:14), 'a): RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#9t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#10t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=3, value=<_#10t as ClonableFn<_#9t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=3 result=<_#10t as ClonableFn<_#9t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=3 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2), impl_trait_ref=<_#10t as ClonableFn<_#9t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8>> == <_#10t as ClonableFn<_#9t>>)
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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], _#10t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], _#10t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] dir=EqTo b_vid=_#10t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], for_vid=_#10t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], dir=EqTo, b_vid=_#10t, generalized b_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, _#9t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, _#9t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8 dir=EqTo b_vid=_#9t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, for_vid=_#9t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#3r with origin MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#3r) = 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 { &'_#3r u8, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, dir=EqTo, b_vid=_#9t, generalized b_ty=&'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, &'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, &'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.regions(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r) due to Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(RegSubVar(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion('_#3r, RePlaceholder(Placeholder { universe: U6, 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: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(VarSubReg('_#3r, RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(u8, u8)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(RePlaceholder(Placeholder { universe: U6, 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: 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=[_#9t, _#10t]
DEBUG 2019-01-29T13:50:22Z: rustc::infer: rollback_to(cause=probe)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#9t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#10t 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=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2))
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2)): [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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)))=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=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>, candidate=Ok(Some(ImplCandidate(DefId(0/0:4 ~ issue_57843_ice_with_cloneablefn[317d]::{{impl}}[0]))))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2), 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2),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 callback created RePlaceholder RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(RePlaceholder(Placeholder { universe: U6, 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(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8>>), map={BrNamed(crate0:DefIndex(1:14), 'a): RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#9t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#10t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=3, value=<_#10t as ClonableFn<_#9t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=3 result=<_#10t as ClonableFn<_#9t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=3 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=2), impl_trait_ref=<_#10t as ClonableFn<_#9t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8>> == <_#10t as ClonableFn<_#9t>>)
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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], _#10t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], _#10t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] dir=EqTo b_vid=_#10t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], for_vid=_#10t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], dir=EqTo, b_vid=_#10t, generalized b_ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, _#9t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, _#9t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8 dir=EqTo b_vid=_#9t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, for_vid=_#9t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#3r with origin MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#3r) = 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 { &'_#3r u8, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, dir=EqTo, b_vid=_#9t, generalized b_ty=&'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, &'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (&RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }) u8, &'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.regions(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r) due to Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(RegSubVar(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion('_#3r, RePlaceholder(Placeholder { universe: U6, 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: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(VarSubReg('_#3r, RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(u8, u8)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(RePlaceholder(Placeholder { universe: U6, 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: 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=[_#9t, _#10t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_impl_candidate: substs=Normalized([_#9t, _#10t],[])
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([_#9t, _#10t],[]), recursion_depth=3)
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=3, value=Binder(ProjectionPredicate(ProjectionTy { substs: [_#10t, (_#9t,)], 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=3 result=Binder(ProjectionPredicate(ProjectionTy { substs: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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=3 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=3, value=Binder(TraitPredicate(<_#10t as std::marker::Sized>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=3 result=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=3 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=3, value=Binder(TraitPredicate(<_#10t as std::ops::Fn<(_#9t,)>>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=3 result=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=3 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=3, value=Binder(TraitPredicate(<_#9t as std::marker::Sized>)))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=3 result=Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>)) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=3 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: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), Obligation(predicate=Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3)]
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>))` at depth 2 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region='_#1r, sup_type=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]))
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(<_#3t as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0) still stalled on [_#3t]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: poly_project_and_unify_type(obligation=Obligation(predicate=Binder(ProjectionPredicate(ProjectionTy { substs: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
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: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, ())), result=ProjectionPredicate(ProjectionTy { substs: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], item_def_id: DefId(2/0:984 ~ core[6569]::ops[0]::function[0]::FnOnce[0]::Output[0]) }, depth=3)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: project: obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>
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: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&ReErased u8,)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3)))
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=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_unboxed_candidates: kind=FnOnce obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_unboxed_candidates: closure_kind not yet known
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#4r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#11t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "A")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#12t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#4r) = 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('_#4r) = 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=4, value=<&'_#4r mut _#12t as std::ops::FnOnce<_#11t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 result=<&'_#4r mut _#12t as std::ops::FnOnce<_#11t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), impl_trait_ref=<&'_#4r mut _#12t as std::ops::FnOnce<_#11t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>> == <&'_#4r mut _#12t as std::ops::FnOnce<_#11t>>)
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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#4r mut _#12t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#4r mut _#12t)
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 closure, 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 _#11t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#12t 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#4r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#11t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "A")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#12t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#4r) = 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('_#4r) = 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=4, value=<&'_#4r _#12t as std::ops::FnOnce<_#11t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 result=<&'_#4r _#12t as std::ops::FnOnce<_#11t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), impl_trait_ref=<&'_#4r _#12t as std::ops::FnOnce<_#11t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>> == <&'_#4r _#12t as std::ops::FnOnce<_#11t>>)
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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#4r _#12t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#4r _#12t)
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 closure, 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 _#11t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#12t 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=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3)): [ClosureCandidate]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&ReErased u8,)>>)))=Ok(Some(ClosureCandidate))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&ReErased u8,)>>, candidate=Ok(Some(ClosureCandidate))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), ClosureCandidate)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_closure_candidate(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: closure_trait_ref_unnormalized(obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), closure_def_id=DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), substs=ClosureSubsts { substs: [_#4t, extern "rust-call" fn((_#3t,))] })
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: closure_trait_ref_unnormalized: closure_type = Binder(([(_#3t,)]; variadic: false)->())
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=4, value=Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(_#3t,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 result=Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(_#3t,)>>) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_closure_candidate(closure_def_id=DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), trait_ref=Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(_#3t,)>>), obligations=[])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(_#3t,)>>) <: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>))
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(_#3t,)>>), b=Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>), result=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(_#3t,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((_#3t,), (&'_#3r u8,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((_#3t,), (&'_#3r u8,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(_#3t, &'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (_#3t, &'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=&'_#3r u8 dir=EqTo b_vid=_#3t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=&'_#3r u8, for_vid=_#3t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#3r) = 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 { &'_#3r u8, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=&'_#3r u8, dir=EqTo, b_vid=_#3t, generalized b_ty=&'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(&'_#3r u8, &'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(_#3t,)>>
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: assemble_candidates_from_impls: vtable=VtableClosureData(closure_def_id=DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), substs=ClosureSubsts { substs: [_#4t, extern "rust-call" fn((_#3t,))] }, nested=[Obligation(predicate=ClosureKind(DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), ClosureSubsts { substs: [_#4t, extern "rust-call" fn((_#3t,))] }, FnOnce),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=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::project: confirm_candidate(candidate=Select(VtableClosureData(closure_def_id=DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), substs=ClosureSubsts { substs: [_#4t, extern "rust-call" fn((_#3t,))] }, nested=[Obligation(predicate=ClosureKind(DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), ClosureSubsts { substs: [_#4t, extern "rust-call" fn((_#3t,))] }, FnOnce),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)])), obligation=Obligation(predicate=ProjectionTy { substs: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=4, value=Binder(([(_#3t,)]; variadic: false)->()))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 result=Binder(([(&'_#3r u8,)]; variadic: false)->()) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: confirm_closure_candidate: obligation=Obligation(predicate=ProjectionTy { substs: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3),closure_sig=Binder(([(&'_#3r u8,)]; variadic: false)->()),obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: confirm_callable_candidate(Obligation(predicate=ProjectionTy { substs: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3),Binder(([(&'_#3r u8,)]; variadic: false)->()))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>> == <[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::FnOnce<(&'_#3r u8,)>>)
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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((&'_#3r u8,), (&'_#3r u8,))
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: with_addl_obligations: self.obligations.len=0 obligations.len=1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: with_addl_obligations: self.obligations=[] obligations=[Obligation(predicate=ClosureKind(DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), ClosureSubsts { substs: [_#4t, extern "rust-call" fn((_#3t,))] }, FnOnce),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: with_addl_obligations: self.obligations.len=1 obligations.len=0
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: with_addl_obligations: self.obligations=[Obligation(predicate=ClosureKind(DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), ClosureSubsts { substs: [_#4t, extern "rust-call" fn((_#3t,))] }, FnOnce),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)] obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: opt_normalize_projection_type: projected_ty=() depth=3 projected_obligations=[Obligation(predicate=ClosureKind(DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), ClosureSubsts { substs: [_#4t, extern "rust-call" fn((_#3t,))] }, FnOnce),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: [[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], (&'_#3r u8,)], 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: project_and_unify_type: normalized_ty=() obligations=[Obligation(predicate=ClosureKind(DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), ClosureSubsts { substs: [_#4t, extern "rust-call" fn((_#3t,))] }, FnOnce),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0)]
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::select: select(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&ReErased u8,)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3)))
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=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_unboxed_candidates: kind=Fn obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_unboxed_candidates: closure_kind not yet known
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)), result=TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#4r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#11t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "A")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#12t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, "F")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#4r) = 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('_#4r) = 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=4, value=<&'_#4r _#12t as std::ops::Fn<_#11t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 result=<&'_#4r _#12t as std::ops::Fn<_#11t>> with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), impl_trait_ref=<&'_#4r _#12t as std::ops::Fn<_#11t>>, skol_obligation_trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>> == <&'_#4r _#12t as std::ops::Fn<_#11t>>)
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([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#4r _#12t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], &'_#4r _#12t)
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 closure, 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 _#11t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#12t 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=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3)): [ClosureCandidate]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&ReErased u8,)>>)))=Ok(Some(ClosureCandidate))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&ReErased u8,)>>, candidate=Ok(Some(ClosureCandidate))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), ClosureCandidate)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_closure_candidate(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: closure_trait_ref_unnormalized(obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), closure_def_id=DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), substs=ClosureSubsts { substs: [_#4t, extern "rust-call" fn((&'_#3r u8,))] })
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: closure_trait_ref_unnormalized: closure_type = Binder(([(&'_#3r u8,)]; variadic: false)->())
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=4, value=Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 result=Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>) with 0 obligations
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=4 obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_closure_candidate(closure_def_id=DefId(0/1:15 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]::{{closure}}[0]), trait_ref=Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>), obligations=[])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>) <: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>))
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>), b=Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>), result=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>, map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: a_prime=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: b_prime=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((&'_#3r u8,), (&'_#3r u8,))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::higher_ranked: higher_ranked_sub: OK result=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::ops::Fn<(&'_#3r u8,)>>))` at depth 3 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&ReErased u8 as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3)))
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=&'_#3r u8)
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(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3))
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(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3)): [BuiltinCandidate { has_nested: false }]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&ReErased u8 as std::marker::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<&ReErased u8 as std::marker::Sized>, candidate=Ok(Some(BuiltinCandidate { has_nested: false }))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), BuiltinCandidate { has_nested: false })
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ImplDerivedObligation(DerivedObligationCause { parent_trait_ref: Binder(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8>>), parent_code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=3), false)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_builtin_candidate: obligations=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>))` at depth 3 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::select: select(Obligation(predicate=Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&ReErased u8 as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },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(<&ReErased u8 as std::marker::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },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(<&'_#3r u8 as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:22, body_id: NodeId(55), code: SizedArgumentType },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::traits::fulfill: selecting trait `Binder(TraitPredicate(<&'_#3r u8 as std::marker::Sized>))` 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(5 predicates remaining, 0 errors) done
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: register_predicate(Obligation(predicate=Foo,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=Foo,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: write_ty(HirId { owner: DefIndex(0:6), local_id: 14 }, Foo) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: type of expr Foo(<Box>::new(|_| ())) (id=58) is...
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: ... Foo, expected is NoExpectation
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_typeck::check: write_ty(HirId { owner: DefIndex(0:6), local_id: 15 }, ()) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:6), local_id: 16 }, ()) in fcx 0x7f5cd65fe2d0
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: type of expr { Foo(<Box>::new(|_| ())); } (id=65) is...
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: ... (), expected is ExpectHasType(())
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations(ty=())
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check: resolve_type_vars_with_obligations: ty=()
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coercion::try(expr(65: { Foo(<Box>::new(|| )); }): () -> ())
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_typeck::check::coercion: Coerce.tys(() => ())
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_typeck::check::coercion: coerce_unsized(source=(), target=())
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#11t, diverging=false, origin=MiscVariable(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2)
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: sub(_#11t <: ())
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(_#11t, ())
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=() dir=SupertypeOf b_vid=_#11t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=(), for_vid=_#11t, dir=SupertypeOf
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=SupertypeOf, b_vid=_#11t, generalized b_ty=())
DEBUG 2019-01-29T13:50:22Z: rustc::infer::sub: Sub.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_typeck::check::coercion: coerce_unsized resolve step: Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#11t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, 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::select: select(Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#11t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, 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::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<()>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#11t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, 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::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: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<()>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, 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::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(<() as std::ops::CoerceUnsized<()>>)), result=TraitPredicate(<() as std::ops::CoerceUnsized<()>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#4r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#5r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "\'b")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#12t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#13t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "U")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#4r) = 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('_#5r) = 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('_#4r) = 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=<&'_#5r mut _#12t as std::ops::CoerceUnsized<&'_#4r _#13t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#5r mut _#12t as std::ops::CoerceUnsized<&'_#4r _#13t>> 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:1117 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[1]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<()>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#5r mut _#12t as std::ops::CoerceUnsized<&'_#4r _#13t>>, skol_obligation_trait_ref=<() as std::ops::CoerceUnsized<()>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::ops::CoerceUnsized<()>> == <&'_#5r mut _#12t as std::ops::CoerceUnsized<&'_#4r _#13t>>)
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(2)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((), &'_#5r mut _#12t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((), &'_#5r mut _#12t)
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=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected (), 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 _#12t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#13t 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(<() as std::ops::CoerceUnsized<()>>)), result=TraitPredicate(<() as std::ops::CoerceUnsized<()>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#4r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#12t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#13t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "U")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#4r) = 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('_#4r) = 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('_#4r) = 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=<&'_#4r mut _#12t as std::ops::CoerceUnsized<&'_#4r mut _#13t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#4r mut _#12t as std::ops::CoerceUnsized<&'_#4r mut _#13t>> 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:1116 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<()>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#4r mut _#12t as std::ops::CoerceUnsized<&'_#4r mut _#13t>>, skol_obligation_trait_ref=<() as std::ops::CoerceUnsized<()>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::ops::CoerceUnsized<()>> == <&'_#4r mut _#12t as std::ops::CoerceUnsized<&'_#4r mut _#13t>>)
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((), &'_#4r mut _#12t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((), &'_#4r mut _#12t)
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 (), 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 _#12t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#13t 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: 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::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::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::infer::higher_ranked: replace_bound_vars_with_placeholders(binder=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<()>>)), result=TraitPredicate(<() as std::ops::CoerceUnsized<()>>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#4r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "\'a")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#5r with origin EarlyBoundRegion(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "\'b")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#12t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "T")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#13t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, "U")
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags('_#4r) = 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('_#5r) = 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('_#4r) = 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=<&'_#5r _#12t as std::ops::CoerceUnsized<&'_#4r _#13t>>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#5r _#12t as std::ops::CoerceUnsized<&'_#4r _#13t>> 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:1120 ~ core[6569]::ops[0]::unsize[0]::{{impl}}[4]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<()>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, body_id: NodeId(65), code: MiscObligation },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0), impl_trait_ref=<&'_#5r _#12t as std::ops::CoerceUnsized<&'_#4r _#13t>>, skol_obligation_trait_ref=<() as std::ops::CoerceUnsized<()>>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::ops::CoerceUnsized<()>> == <&'_#5r _#12t as std::ops::CoerceUnsized<&'_#4r _#13t>>)
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(2)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys((), &'_#5r _#12t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((), &'_#5r _#12t)
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=2))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: match_impl: failed eq_trait_refs due to `expected (), 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 _#12t popped
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: inference variable _#13t 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=())
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(<() as std::ops::CoerceUnsized<()>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, 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::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#11t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, 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::select: assemble_candidates_from_auto_impls(self_ty=())
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(<() as std::ops::CoerceUnsized<_#11t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, 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::select: winnowed to 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as std::ops::CoerceUnsized<_#11t>>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2, 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::select: CACHE MISS: SELECT(Binder(TraitPredicate(<() as std::ops::CoerceUnsized<()>>)))=Err(Unimplemented)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<() as std::ops::CoerceUnsized<()>>, candidate=Err(Unimplemented)) global
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::coercion: coerce_unsized: early return - can't prove obligation
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: inference variable _#11t 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::coercion: coerce: unsize failed
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: sub(() <: ())
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((), ())
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::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: apply_adjustments(expr=expr(65: { Foo(<Box>::new(|| )); }), adj=[])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: sub(() <: ())
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((), ())
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(TraitPredicate(<() as std::process::Termination>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 11:11, body_id: NodeId(44), code: MainFunctionType },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(<() as std::process::Termination>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:11:11: 11:11, body_id: NodeId(44), code: MainFunctionType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=7)
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::process::Termination>)),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::process::Termination>)),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::process::Termination>)),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: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<() as std::process::Termination>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as std::process::Termination>)),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: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::process::Termination>)),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: 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(<() as std::process::Termination>)), result=TraitPredicate(<() as std::process::Termination>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<() as std::process::Termination>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<() as std::process::Termination> 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(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::process::Termination>)),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), impl_trait_ref=<() as std::process::Termination>, skol_obligation_trait_ref=<() as std::process::Termination>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::process::Termination> == <() as std::process::Termination>)
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::traits::select: match_impl: success impl_substs=[]
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_from_object_ty(self_ty=())
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(<() as std::process::Termination>)),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::process::Termination>)),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::process::Termination>)),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)): [ImplCandidate(DefId(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37]))]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<() as std::process::Termination>)))=Ok(Some(ImplCandidate(DefId(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37]))))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<() as std::process::Termination>, candidate=Ok(Some(ImplCandidate(DefId(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37]))))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: evaluate_candidate: depth=0 candidate=ImplCandidate(DefId(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37]))
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::process::Termination>)),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), ImplCandidate(DefId(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37])))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<() as std::process::Termination>)),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),DefId(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37]))
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(<() as std::process::Termination>)), result=TraitPredicate(<() as std::process::Termination>), map={})
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=1, value=<() as std::process::Termination>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<() as std::process::Termination> 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(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::process::Termination>)),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), impl_trait_ref=<() as std::process::Termination>, skol_obligation_trait_ref=<() as std::process::Termination>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::process::Termination> == <() as std::process::Termination>)
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::traits::select: match_impl: success impl_substs=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_impl_candidate: substs=Normalized([],[])
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: vtable_impl(impl_def_id=DefId(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37]), substs=Normalized([],[]), recursion_depth=1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: impl_or_trait_obligations(def_id=DefId(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37]))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: vtable_impl: impl_def_id=DefId(1/0:3232 ~ std[6383]::process[0]::{{impl}}[37]) impl_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::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::process::Termination>))=EvaluatedToOk
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_evaluation_cache(trait_ref=Binder(<() as std::process::Termination>), 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::process::Termination>))` at depth 0 evaluated to holds
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(5 predicates remaining, 0 errors) done
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::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: 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::upvar: analyze_closure(id=NodeId(56), body.id=BodyId { node_id: NodeId(55) })
DEBUG 2019-01-29T13:50:22Z: rustc::traits: type_known_to_meet_bound_modulo_regions(ty=(), bound="std::marker::Copy")
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::Copy>)),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::Copy>)),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::Copy>)),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: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<() as std::marker::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Copy>)),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: obligation self ty is ()
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Copy>)),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::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, '_)) = 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::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(<() as std::marker::Copy>)), result=TraitPredicate(<() as std::marker::Copy>), 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:1:1: 1:1, "\'_")
DEBUG 2019-01-29T13:50:22Z: rustc::infer::type_variable: new_var(index=_#0t, diverging=false, origin=TypeParameterDefinition(../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, "T")
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 _#0t as std::marker::Copy>)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=1 result=<&'_#0r _#0t as std::marker::Copy> 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:868 ~ core[6569]::marker[0]::copy_impls[0]::{{impl}}[3]), obligation=Obligation(predicate=Binder(TraitPredicate(<() as std::marker::Copy>)),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), impl_trait_ref=<&'_#0r _#0t as std::marker::Copy>, skol_obligation_trait_ref=<() as std::marker::Copy>)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(<() as std::marker::Copy> == <&'_#0r _#0t as std::marker::Copy>)
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((), &'_#0r _#0t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements ((), &'_#0r _#0t)
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 (), 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: 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: 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::Copy>)),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::Copy>)),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::Copy>)),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::Copy>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<() as std::marker::Copy>, 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::Copy>)),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::Copy>)),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::Copy>))=EvaluatedToOk
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_evaluation_cache(trait_ref=Binder(<() as std::marker::Copy>), 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: type_known_to_meet_ty=() bound=std::marker::Copy => true
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::upvar: consume(cmt=cmt_ { hir_id: HirId { owner: DefIndex(0:6), local_id: 9 }, span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, cat: Rvalue(ReScope(Node(9))), mutbl: McDeclared, ty: (), note: NoteNone },mode=Copy)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::upvar: adjust_upvar_borrow_kind_for_consume(cmt=cmt_ { hir_id: HirId { owner: DefIndex(0:6), local_id: 9 }, span: ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24, cat: Rvalue(ReScope(Node(9))), mutbl: McDeclared, ty: (), note: NoteNone }, mode=Copy)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::at: eq(i8 == _#4t)
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(i8, _#4t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys: replacements (i8, _#4t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=i8 dir=EqTo b_vid=_#4t)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize(ty=i8, for_vid=_#4t, dir=EqTo
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: generalize: success { i8, false }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::combine: instantiate(a_ty=i8, dir=EqTo, b_vid=_#4t, generalized b_ty=i8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::equate: Equate.tys(i8, i8)
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::upvar: analyze_closure: id=NodeId(56) substs=Closure(ClosureSubsts { substs: [_#4t, _#5t] }) final_upvar_tys=[]
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::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)> as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:8, body_id: NodeId(65), code: SizedArgumentType },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=Foo)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=Foo)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=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=Foo predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Foo as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:8, 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::infer: partially_normalize_associated_types_in(value=_#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth(depth=0, value=_#1t)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::project: normalize_with_depth: depth=0 result=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] 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=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedArgumentType },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=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<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> 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<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> predicates=[]
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, 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: select_all_obligations_or_error
DEBUG 2019-01-29T13:50:22Z: rustc::traits::fulfill: select(obligation-forest-size=9)
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(1), BrAnon(0))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with 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 '_#0r
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::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(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)> 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(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)> 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::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)> as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)> 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=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)>)
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(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)> 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(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)> 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(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)> 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(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)> as std::marker::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)> 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(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)> 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(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)> 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(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)> as std::marker::Sized>))=EvaluatedToOk
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_evaluation_cache(trait_ref=Binder(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReErased)> 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(<std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)> as std::marker::Sized>))` at depth 0 evaluated to holds
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(<Foo 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(<Foo 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(<Foo 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: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Foo as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Foo 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=Foo)
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(<Foo 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(<Foo 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(<Foo 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(<Foo as std::marker::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<Foo 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(<Foo 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(<Foo 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(<Foo as std::marker::Sized>))=EvaluatedToOk
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_evaluation_cache(trait_ref=Binder(<Foo 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(<Foo as std::marker::Sized>))` at depth 0 evaluated to holds
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedArgumentType },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedArgumentType },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=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedArgumentType },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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedArgumentType },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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedArgumentType },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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>, candidate=Ok(Some(BuiltinCandidate { has_nested: false }))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedArgumentType },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(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedArgumentType },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::traits::fulfill: selecting trait `Binder(TraitPredicate(<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] as std::marker::Sized>))` at depth 0 yielded Ok(Some)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, 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::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReErased) = (empty)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, 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::traits::select: is_knowable(intercrate=None)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assemble_candidates_for_trait_alias(self_ty=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>)
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(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, 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::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, 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::traits::select: candidate list size: 1
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedReturnType },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(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: insert_candidate_cache(trait_ref=<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>, candidate=Ok(Some(BuiltinCandidate { has_nested: false }))) global
DEBUG 2019-01-29T13:50:22Z: rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedReturnType },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(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17, body_id: NodeId(65), code: SizedReturnType },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::traits::fulfill: selecting trait `Binder(TraitPredicate(<std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> as std::marker::Sized>))` 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_fn(id=44)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: explicit_outlives_bounds()
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: visit_fn_body(id=44)
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::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: regionck::link_fn_args(body_scope=Node(16))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(65: { Foo(<Box>::new(|| )); }), repeating_scope=65)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Node(16)), sup_type=()))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_adjustments(expr=expr(65: { Foo(<Box>::new(|| )); }))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: () scope: Node(16)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: dropck_outlives(ty=(), param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(65: { Foo(<Box>::new(|| )); }), repeating_scope=65) - visiting subexprs
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(58: Foo(<Box>::new(|| ))), repeating_scope=65)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Node(14)), sup_type=Foo))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_adjustments(expr=expr(58: Foo(<Box>::new(|| ))))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: Foo scope: Node(1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: dropck_outlives(ty=Foo, param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: c_ty = Canonical { max_universe: U0, variables: [], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None }, value: Foo } }
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::normalize: normalize::<&rustc::ty::TyS>(value=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic), param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_query_response(inference_vars=CanonicalVarValues { var_values: [] }, answer=DropckOutlivesResult { kinds: [(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)], overflows: [] })
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: DropckOutlivesResult {
kinds: [
(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)
],
overflows: []
}
}
}
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: DropckOutlivesResult {
kinds: [
(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)
],
overflows: []
}
}
})
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: DropckOutlivesResult {
kinds: [
(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)
],
overflows: []
}
}
})
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_typeck::check::dropck: dropck_outlives = InferOk {
value: [
(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)
],
obligations: []
}
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Destruction(1)), sup_type=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(58: Foo(<Box>::new(|| ))), repeating_scope=65) - visiting subexprs
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_call(call_expr=expr(58: Foo(<Box>::new(|| ))), receiver=None)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: callee_region=ReScope(Node(14))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: Argument: expr(57: <Box>::new(|| ))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>, ty0=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, id=HirId { owner: DefIndex(0:6), local_id: 13 }, minimum_lifetime=ReScope(Node(14)))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Node(14)), sup_type=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(48: Foo), repeating_scope=65)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Node(3)), sup_type=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::regionck: constrain_adjustments(expr=expr(48: Foo))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo} scope: Node(1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: dropck_outlives(ty=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}, param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(48: Foo), repeating_scope=65) - visiting subexprs
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: substs_wf_in_scope(substs=[], expr_region=ReScope(Node(3)), origin=Path, expr_span=../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:8)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(57: <Box>::new(|| )), repeating_scope=65)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Node(13)), sup_type=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_adjustments(expr=expr(57: <Box>::new(|| )))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_adjustments: adjustments=[Unsize -> _#6t]
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> scope: Node(1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: dropck_outlives(ty=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: region var found with vid '_#3r, opportunistically resolved to '_#3r
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReLateBound(DebruijnIndex(1), BrAnon(0))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: c_ty = Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None }, value: std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> } }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with 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 '_#0r
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::query::normalize: normalize::<&rustc::ty::TyS>(value=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_query_response(inference_vars=CanonicalVarValues { var_values: ['_#0r] }, answer=DropckOutlivesResult { kinds: [], overflows: [] })
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::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::canonical::canonicalizer: canonical: region var found with vid '_#0r, opportunistically resolved to '_#0r
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_canonicalized_query_response: canonical_result = Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Region(
U0
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
ReLateBound(DebruijnIndex(0), BrAnon(0))
]
},
region_constraints: [],
certainty: Proven,
value: DropckOutlivesResult {
kinds: [],
overflows: []
}
}
}
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: [
'_#3r
]
}, query_response=Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Region(
U0
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
ReLateBound(DebruijnIndex(0), BrAnon(0))
]
},
region_constraints: [],
certainty: Proven,
value: DropckOutlivesResult {
kinds: [],
overflows: []
}
}
})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution_guess(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: [
'_#3r
]
}, query_response=Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Region(
U0
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
ReLateBound(DebruijnIndex(0), BrAnon(0))
]
},
region_constraints: [],
certainty: Proven,
value: DropckOutlivesResult {
kinds: [],
overflows: []
}
}
})
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('_#3r == '_#3r)
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.regions('_#3r, '_#3r)
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::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_adjustments: adjustment=Unsize -> _#6t, cmt=cmt_ { hir_id: HirId { owner: DefIndex(0:6), local_id: 13 }, span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, cat: Rvalue(ReScope(Node(1))), mutbl: McDeclared, ty: std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, note: NoteNone }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)> scope: Node(1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: dropck_outlives(ty=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>, param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: region var found with vid '_#1r, opportunistically resolved to '_#1r
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReLateBound(DebruijnIndex(0), BrAnon(0))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: c_ty = Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None }, value: std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReLateBound(DebruijnIndex(0), BrAnon(0)))> } }
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with 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 '_#0r
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::query::normalize: normalize::<&rustc::ty::TyS>(value=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r), param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_query_response(inference_vars=CanonicalVarValues { var_values: ['_#0r] }, answer=DropckOutlivesResult { kinds: [(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#0r)], overflows: [] })
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::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::canonical::canonicalizer: canonical: region var found with vid '_#0r, opportunistically resolved to '_#0r
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: region var found with vid '_#0r, opportunistically resolved to '_#0r
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReLateBound(DebruijnIndex(0), BrAnon(0))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_canonicalized_query_response: canonical_result = Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Region(
U0
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
ReLateBound(DebruijnIndex(0), BrAnon(0))
]
},
region_constraints: [],
certainty: Proven,
value: DropckOutlivesResult {
kinds: [
(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReLateBound(DebruijnIndex(0), BrAnon(0)))
],
overflows: []
}
}
}
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: [
'_#1r
]
}, query_response=Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Region(
U0
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
ReLateBound(DebruijnIndex(0), BrAnon(0))
]
},
region_constraints: [],
certainty: Proven,
value: DropckOutlivesResult {
kinds: [
(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReLateBound(DebruijnIndex(0), BrAnon(0)))
],
overflows: []
}
}
})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: query_response_substitution_guess(original_values=OriginalQueryValues {
universe_map: [
U0
],
var_values: [
'_#1r
]
}, query_response=Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Region(
U0
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
ReLateBound(DebruijnIndex(0), BrAnon(0))
]
},
region_constraints: [],
certainty: Proven,
value: DropckOutlivesResult {
kinds: [
(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReLateBound(DebruijnIndex(0), BrAnon(0)))
],
overflows: []
}
}
})
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('_#1r == '_#1r)
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.regions('_#1r, '_#1r)
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::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_typeck::check::dropck: dropck_outlives = InferOk {
value: [
(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)
],
obligations: []
}
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Destruction(1)), sup_type=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(57: <Box>::new(|| )), repeating_scope=65) - visiting subexprs
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_call(call_expr=expr(57: <Box>::new(|| )), receiver=None)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: callee_region=ReScope(Node(13))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: Argument: expr(56: ||)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], ty0=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], id=HirId { owner: DefIndex(0:6), local_id: 12 }, minimum_lifetime=ReScope(Node(13)))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Node(13)), sup_type=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(51: <Box>::new), repeating_scope=65)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Node(7)), sup_type=fn([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]) -> std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> {<std::boxed::Box<T>><[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>::new}))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_adjustments(expr=expr(51: <Box>::new))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: fn([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]) -> std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> {<std::boxed::Box<T>><[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>::new} scope: Node(1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: dropck_outlives(ty=fn([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]) -> std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> {<std::boxed::Box<T>><[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>::new}, param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(51: <Box>::new), repeating_scope=65) - visiting subexprs
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: substs_wf_in_scope(substs=[_#1t], expr_region=ReScope(Node(7)), origin=Path, expr_span=../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Node(7)), sup_type=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(56: ||), repeating_scope=65)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(Node(12)), sup_type=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_adjustments(expr=expr(56: ||))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] scope: Node(1)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: dropck_outlives(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(56: ||), repeating_scope=65) - visiting subexprs
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: visit_fn_body(id=56)
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 = &'_#3r u8
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: implied_outlives_bounds(ty = &'_#3r u8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::canonicalizer: canonical: region var found with vid '_#3r, opportunistically resolved to '_#3r
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReLateBound(DebruijnIndex(0), BrAnon(0))) = HAS_RE_LATE_BOUND
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: created new region variable '_#0r with 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 '_#0r
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=0, value=Obligation(predicate=Binder(OutlivesPredicate(u8, '_#0r)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(4294967040), code: ReferenceOutlivesReferent(&'_#0r u8) },param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None },depth=0))
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=0 result=Obligation(predicate=Binder(OutlivesPredicate(u8, '_#0r)),cause=ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:1:1: 1:1, body_id: NodeId(4294967040), code: ReferenceOutlivesReferent(&'_#0r u8) },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::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::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: ['_#0r] }, 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::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::canonical::canonicalizer: canonical: region var found with vid '_#0r, opportunistically resolved to '_#0r
DEBUG 2019-01-29T13:50:22Z: rustc::infer::canonical::query_response: make_canonicalized_query_response: canonical_result = Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Region(
U0
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
ReLateBound(DebruijnIndex(0), BrAnon(0))
]
},
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: [
'_#3r
]
}, query_response=Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Region(
U0
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
ReLateBound(DebruijnIndex(0), BrAnon(0))
]
},
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: [
'_#3r
]
}, query_response=Canonical {
max_universe: U0,
variables: [
CanonicalVarInfo {
kind: Region(
U0
)
}
],
value: QueryResponse {
var_values: CanonicalVarValues {
var_values: [
ReLateBound(DebruijnIndex(0), BrAnon(0))
]
},
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::at: eq('_#3r == '_#3r)
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.regions('_#3r, '_#3r)
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::query::outlives_bounds: implied_outlives_bounds for &'_#3r u8: 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 = ()
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::outlives_bounds: implied_outlives_bounds(ty = ())
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: regionck::link_fn_args(body_scope=Node(9))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: arg_ty=_#3t arg_cmt=cmt_ { hir_id: HirId { owner: DefIndex(0:6), local_id: 10 }, span: ../../issue-57843-ice-with-cloneablefn.rs:12:19: 12:20, cat: Rvalue(ReScope(Node(9))), mutbl: McDeclared, ty: _#3t, note: NoteNone } arg=Arg { pat: pat(53: _), id: NodeId(52), hir_id: HirId { owner: DefIndex(0:6), local_id: 10 } }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: link_pattern(discr_cmt=cmt_ { hir_id: HirId { owner: DefIndex(0:6), local_id: 10 }, span: ../../issue-57843-ice-with-cloneablefn.rs:12:19: 12:20, cat: Rvalue(ReScope(Node(9))), mutbl: McDeclared, ty: _#3t, note: NoteNone }, root_pat=pat(53: _))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(55: ()), repeating_scope=55)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(55), obligation=RegionObligation(sub_region=ReScope(Node(9)), sup_type=()))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_adjustments(expr=expr(55: ()))
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: () scope: Node(9)
DEBUG 2019-01-29T13:50:22Z: rustc::traits::query::dropck_outlives: dropck_outlives(ty=(), param_env=ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None })
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: regionck::visit_expr(e=expr(55: ()), repeating_scope=55) - visiting subexprs
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: visit_region_obligations: node_id=55
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_typeck::check::regionck: visit_fn_body body.id BodyId { node_id: NodeId(55) } call_site_scope: CallSite(9)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=(), ty0=(), id=HirId { owner: DefIndex(0:6), local_id: 9 }, minimum_lifetime=ReScope(CallSite(9)))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(55), obligation=RegionObligation(sub_region=ReScope(CallSite(9)), sup_type=()))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::opaque_types: constrain_opaque_types()
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: visit_region_obligations: node_id=65
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_typeck::check::regionck: visit_fn_body body.id BodyId { node_id: NodeId(65) } call_site_scope: CallSite(16)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=(), ty0=(), id=HirId { owner: DefIndex(0:6), local_id: 16 }, minimum_lifetime=ReScope(CallSite(16)))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: register_region_obligation(body_id=NodeId(65), obligation=RegionObligation(sub_region=ReScope(CallSite(16)), sup_type=()))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::opaque_types: constrain_opaque_types()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations()
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] sub_region='_#1r origin=RelateParamBound(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24])
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], region='_#1r, origin=RelateParamBound(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, [closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=() sub_region=ReScope(Node(16)) origin=ExprTypeIsNotInScope((), ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=(), region=ReScope(Node(16)), origin=ExprTypeIsNotInScope((), ../../issue-57843-ice-with-cloneablefn.rs:11:11: 13:2))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=Foo sub_region=ReScope(Node(14)) origin=ExprTypeIsNotInScope(Foo, ../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:26)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=Foo, region=ReScope(Node(14)), origin=ExprTypeIsNotInScope(Foo, ../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:26))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic) sub_region=ReScope(Destruction(1)) origin=SafeDestructor(../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:26)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic), region=ReScope(Destruction(1)), origin=SafeDestructor(../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:26))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: sub_regions(ReScope(Destruction(1)) <: ReStatic)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion(ReScope(Destruction(1)), ReStatic) due to SafeDestructor(../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:26)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)> sub_region=ReScope(Node(14)) origin=CallArg(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)>, region=ReScope(Node(14)), origin=CallArg(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: sub_regions(ReScope(Node(14)) <: '_#1r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion(ReScope(Node(14)), '_#1r) due to CallArg(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(RegSubVar(ReScope(Node(14)), '_#1r))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo} sub_region=ReScope(Node(3)) origin=ExprTypeIsNotInScope(fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}, ../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:8)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}, region=ReScope(Node(3)), origin=ExprTypeIsNotInScope(fn(std::boxed::Box<(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + ReStatic)>) -> Foo {Foo}, ../../issue-57843-ice-with-cloneablefn.rs:12:5: 12:8))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> sub_region=ReScope(Node(13)) origin=ExprTypeIsNotInScope(std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, region=ReScope(Node(13)), origin=ExprTypeIsNotInScope(std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>, ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r) sub_region=ReScope(Destruction(1)) origin=SafeDestructor(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=(dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r), region=ReScope(Destruction(1)), origin=SafeDestructor(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25))
DEBUG 2019-01-29T13:50:22Z: rustc::infer: sub_regions(ReScope(Destruction(1)) <: '_#1r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: make_subregion(ReScope(Destruction(1)), '_#1r) due to SafeDestructor(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::region_constraints: RegionConstraintCollector: add_constraint(RegSubVar(ReScope(Destruction(1)), '_#1r))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] sub_region=ReScope(Node(13)) origin=CallArg(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], region=ReScope(Node(13)), origin=CallArg(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=fn([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]) -> std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> {<std::boxed::Box<T>><[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>::new} sub_region=ReScope(Node(7)) origin=ExprTypeIsNotInScope(fn([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]) -> std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> {<std::boxed::Box<T>><[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>::new}, ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=fn([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]) -> std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> {<std::boxed::Box<T>><[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>::new}, region=ReScope(Node(7)), origin=ExprTypeIsNotInScope(fn([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]) -> std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]> {<std::boxed::Box<T>><[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>::new}, ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] sub_region=ReScope(Node(7)) origin=ParameterInScope(Path, ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], region=ReScope(Node(7)), origin=ParameterInScope(Path, ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:17))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24] sub_region=ReScope(Node(12)) origin=ExprTypeIsNotInScope([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], region=ReScope(Node(12)), origin=ExprTypeIsNotInScope([closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24], ../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=() sub_region=ReScope(Node(9)) origin=ExprTypeIsNotInScope((), ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=(), region=ReScope(Node(9)), origin=ExprTypeIsNotInScope((), ../../issue-57843-ice-with-cloneablefn.rs:12:22: 12:24))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=() sub_region=ReScope(CallSite(9)) origin=CallReturn(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=(), region=ReScope(CallSite(9)), origin=CallReturn(../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: process_registered_region_obligations: sup_type=() sub_region=ReScope(CallSite(16)) origin=CallReturn(../../issue-57843-ice-with-cloneablefn.rs:11:1: 13:2)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::outlives::obligations: type_must_outlive(ty=(), region=ReScope(CallSite(16)), origin=CallReturn(../../issue-57843-ice-with-cloneablefn.rs:11:1: 13:2))
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: Constraint 0 => RegSubVar(ReScope(Destruction(1)), '_#1r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Constraint 1 => RegSubVar(ReScope(Node(14)), '_#1r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Constraint 2 => RegSubVar(ReStatic, '_#1r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Constraint 3 => RegSubVar(RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#2r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Constraint 4 => RegSubVar(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Constraint 5 => VarSubReg('_#2r, RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Constraint 6 => VarSubReg('_#3r, RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }))
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: constraint=RegSubVar(ReScope(Destruction(1)), '_#1r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expand_node(ReScope(Destruction(1)), '_#1r == Value(ReEmpty))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Expanding value of '_#1r from ReEmpty to ReScope(Destruction(1))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Updated due to constraint RegSubVar(ReScope(Destruction(1)), '_#1r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expansion: constraint=RegSubVar(ReScope(Node(14)), '_#1r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expand_node(ReScope(Node(14)), '_#1r == Value(ReScope(Destruction(1))))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expansion: constraint=RegSubVar(ReStatic, '_#1r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expand_node(ReStatic, '_#1r == Value(ReScope(Destruction(1))))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Expanding value of '_#1r from ReScope(Destruction(1)) to ReStatic
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Updated due to constraint RegSubVar(ReStatic, '_#1r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expansion: constraint=RegSubVar(RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#2r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expand_node(RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#2r == Value(ReEmpty))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Expanding value of '_#2r from ReEmpty to RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) })
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Updated due to constraint RegSubVar(RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#2r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expansion: constraint=RegSubVar(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expand_node(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r == Value(ReEmpty))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Expanding value of '_#3r from ReEmpty to RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: Updated due to constraint RegSubVar(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expansion: constraint=VarSubReg('_#2r, RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: expansion: constraint=VarSubReg('_#3r, RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- # Iteration Expansion2
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: ---- Expansion Complete after 2 iteration(s)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_errors: constraint=RegSubVar(ReScope(Destruction(1)), '_#1r) origin=SafeDestructor(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_errors: constraint=RegSubVar(ReScope(Node(14)), '_#1r) origin=CallArg(../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25)
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_errors: constraint=RegSubVar(ReStatic, '_#1r) origin=Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ExprAssignable }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_errors: constraint=RegSubVar(RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#2r) origin=Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ExprAssignable }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_errors: constraint=RegSubVar(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) }), '_#3r) origin=Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_errors: constraint=VarSubReg('_#2r, RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) })) origin=Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ExprAssignable }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: contraction: '_#2r == Value(RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) })), RePlaceholder(Placeholder { universe: U4, name: BrNamed(crate0:DefIndex(1:14), 'a) })
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: collect_errors: constraint=VarSubReg('_#3r, RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })) origin=Subtype(TypeTrace(ObligationCause { span: ../../issue-57843-ice-with-cloneablefn.rs:12:9: 12:25, body_id: NodeId(65), code: ObjectCastObligation((dyn for<'a> ClonableFn<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(1:14), 'a)) u8> + '_#1r)) }))
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: contraction: '_#3r == Value(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })), RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })
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: true }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:6), local_id: 16 }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: visit_node_id Node HirId { owner: DefIndex(0:6), local_id: 16 } has type ()
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:6), local_id: 16 }, ())
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:6), local_id: 15 }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: visit_node_id Node HirId { owner: DefIndex(0:6), local_id: 15 } has type ()
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:6), local_id: 15 }, ())
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:6), local_id: 14 }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: visit_node_id Node HirId { owner: DefIndex(0:6), local_id: 14 } has type Foo
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:6), local_id: 14 }, Foo)
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:6), local_id: 3 }
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: visit_node_id Node HirId { owner: DefIndex(0:6), local_id: 3 } has type 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::writeback: write_ty_to_tables(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})
DEBUG 2019-01-29T13:50:22Z: rustc::infer::lexical_region_resolve: resolve_var('_#1r) = ReStatic
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(ReStatic) = HAS_FREE_REGIONS
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: Adjustments for node HirId { owner: DefIndex(0:6), local_id: 13 }: [Unsize -> 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::lexical_region_resolve: resolve_var('_#3r) = RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })
DEBUG 2019-01-29T13:50:22Z: rustc::ty::sty: type_flags(RePlaceholder(Placeholder { universe: U6, name: BrNamed(crate0:DefIndex(1:14), 'a) })) = HAS_RE_PLACEHOLDER | HAS_FREE_REGIONS | HAS_FREE_LOCAL_NAMES
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: visit_node_id Node HirId { owner: DefIndex(0:6), local_id: 13 } has type std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>
DEBUG 2019-01-29T13:50:22Z: rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:6), local_id: 13 }, std::boxed::Box<[closure@../../issue-57843-ice-with-cloneablefn.rs:12:18: 12:24]>)
thread 'rustc' panicked at 'write_ty_to_tables invalid input, needs_infer: false has_re_placeholders: true has_ty_placeholders: false', src/librustc_typeck/check/writeback.rs:119:9
stack backtrace:
0: 0x7f5cda18762f - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::h1941f154458c63db
at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
1: 0x7f5cda170ad3 - std::sys_common::backtrace::print::h58bb5a76b7d82007
at src/libstd/sys_common/backtrace.rs:70
at src/libstd/sys_common/backtrace.rs:58
2: 0x7f5cda193c8d - std::panicking::default_hook::{{closure}}::h2eb2fc7186713ad0
at src/libstd/panicking.rs:200
3: 0x7f5cda1939de - std::panicking::default_hook::h5a37d7fbd06dceb6
at src/libstd/panicking.rs:215
4: 0x7f5cd7946dbf - rustc::util::common::panic_hook::hac56e7c3ea5ef340
at src/librustc/util/common.rs:39
5: 0x7f5cda1945a4 - std::panicking::rust_panic_with_hook::ha3e2d751f0f8b3b6
at src/libstd/panicking.rs:482
6: 0x7f5cda194051 - std::panicking::continue_panic_fmt::hfa6ec507c3385592
at src/libstd/panicking.rs:385
7: 0x7f5cda193f9e - std::panicking::begin_panic_fmt::h14c1d273660a05ea
at src/libstd/panicking.rs:340
8: 0x7f5cd9160a4b - rustc_typeck::check::writeback::WritebackCx::write_ty_to_tables::h2b24a776f726a119
at src/librustc_typeck/check/writeback.rs:119
9: 0x7f5cd9164ff8 - rustc_typeck::check::writeback::WritebackCx::visit_node_id::hf56b858fb7431752
at src/librustc_typeck/check/writeback.rs:621
10: 0x7f5cd9161065 - <rustc_typeck::check::writeback::WritebackCx<'cx, 'gcx, 'tcx> as rustc::hir::intravisit::Visitor<'gcx>>::visit_expr::h603c30621cdef6aa
at src/librustc_typeck/check/writeback.rs:236
11: 0x7f5cd954a6fc - rustc::hir::intravisit::walk_expr::h75fb5ec958ace0d6
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/<::syntax::visit::walk_list macros>:2
12: 0x7f5cd9161182 - <rustc_typeck::check::writeback::WritebackCx<'cx, 'gcx, 'tcx> as rustc::hir::intravisit::Visitor<'gcx>>::visit_expr::h603c30621cdef6aa
at src/librustc_typeck/check/writeback.rs:258
13: 0x7f5cd954a3ae - rustc::hir::intravisit::walk_expr::h75fb5ec958ace0d6
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/hir/intravisit.rs:253
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/<::syntax::visit::walk_list macros>:2
at src/librustc_typeck/check/writeback.rs:263
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/hir/intravisit.rs:1040
14: 0x7f5cd9161182 - <rustc_typeck::check::writeback::WritebackCx<'cx, 'gcx, 'tcx> as rustc::hir::intravisit::Visitor<'gcx>>::visit_expr::h603c30621cdef6aa
at src/librustc_typeck/check/writeback.rs:258
15: 0x7f5cd92fb512 - rustc_typeck::check::writeback::<impl rustc_typeck::check::FnCtxt<'a, 'gcx, 'tcx>>::resolve_type_vars_in_body::haaab3937995122a4
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/hir/intravisit.rs:398
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/hir/intravisit.rs:213
at src/librustc_typeck/check/writeback.rs:46
16: 0x7f5cd9526df0 - rustc::ty::context::GlobalCtxt::enter_local::hf26c93ffc7a492a3
at src/librustc_typeck/check/mod.rs:924
at src/librustc_typeck/check/mod.rs:616
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/infer/mod.rs:520
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1717
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1956
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1889
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1955
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1716
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:2062
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:2046
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:2036
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:2046
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:2058
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1708
17: 0x7f5cd931dce9 - rustc_typeck::check::typeck_tables_of::hc54c323f964798d6
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/infer/mod.rs:519
at src/librustc_typeck/check/mod.rs:616
at src/librustc_typeck/check/mod.rs:853
18: 0x7f5cd73510fc - rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors<'tcx> for rustc::ty::query::queries::typeck_tables_of<'tcx>>::compute::h13e6dac9dad0f45a
at src/librustc/ty/query/plumbing.rs:957
19: 0x7f5cd744f08f - rustc::dep_graph::graph::DepGraph::with_task_impl::h04b896fe89d71cda
at src/librustc/dep_graph/graph.rs:303
20: 0x7f5cd71a2776 - rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_get_with::haf71430357776d28
at src/librustc/dep_graph/graph.rs:190
at src/librustc/ty/query/plumbing.rs:554
at src/librustc/ty/query/plumbing.rs:220
at src/librustc/ty/context.rs:1956
at src/librustc/ty/context.rs:1889
at src/librustc/ty/context.rs:1955
at src/librustc/ty/query/plumbing.rs:219
at src/librustc/ty/context.rs:2062
at src/librustc/ty/context.rs:2046
at src/librustc/ty/context.rs:2036
at src/librustc/ty/context.rs:2046
at src/librustc/ty/context.rs:2058
at src/librustc/ty/query/plumbing.rs:208
at src/librustc/ty/query/plumbing.rs:547
at src/librustc/ty/query/plumbing.rs:233
at src/librustc/ty/query/plumbing.rs:546
at src/librustc/ty/query/plumbing.rs:371
21: 0x7f5cd727ac68 - rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::ensure_query::hb5ebbb96bb55124e
at src/librustc/ty/query/plumbing.rs:653
at src/librustc/ty/query/plumbing.rs:602
22: 0x7f5cd953037c - rustc::ty::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::par_body_owners::h91c7f505797b0620
at src/librustc_typeck/check/mod.rs:725
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/mod.rs:2687
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libcore/iter/traits/iterator.rs:604
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libcore/slice/mod.rs:2999
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libcore/iter/traits/iterator.rs:604
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/mod.rs:2686
23: 0x7f5cd931d72f - rustc_typeck::check::typeck_item_bodies::h2b465485fb6b2c8f
at src/librustc_typeck/check/mod.rs:724
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/session/mod.rs:322
at src/librustc_typeck/check/mod.rs:723
24: 0x7f5cd9273990 - rustc::ty::query::__query_compute::typeck_item_bodies::h91529dd49f4e546b
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:965
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:924
25: 0x7f5cd9381a18 - rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors<'tcx> for rustc::ty::query::queries::typeck_item_bodies<'tcx>>::compute::h7b01018f41b826b9
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:957
26: 0x7f5cd9248e86 - rustc::dep_graph::graph::DepGraph::with_task_impl::hb6eea2287586470b
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/dep_graph/graph.rs:303
27: 0x7f5cd940341e - rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_get_with::h5bd6b3b09e5e5f12
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/dep_graph/graph.rs:190
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:554
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:220
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1956
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1889
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1955
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:219
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:2062
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:2046
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:2036
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:2046
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:2058
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:208
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:547
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:233
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:546
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:371
28: 0x7f5cd9565feb - rustc::util::common::time::h95b94d112e22bc32
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:653
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:1023
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/query/plumbing.rs:1015
at src/librustc_typeck/check/mod.rs:716
at src/librustc_typeck/lib.rs:360
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/util/common.rs:150
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/util/common.rs:144
29: 0x7f5cd917cfbe - rustc_typeck::check_crate::hf86757bf6c473b22
at src/librustc_typeck/lib.rs:360
30: 0x7f5cda34c5af - <std::thread::local::LocalKey<T>>::with::h6891ea6d88cc5591
at src/librustc_driver/driver.rs:1248
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1990
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1956
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1889
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1955
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1989
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1944
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libstd/thread/local.rs:296
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libstd/thread/local.rs:242
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1936
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libstd/thread/local.rs:296
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libstd/thread/local.rs:242
31: 0x7f5cda2f719a - rustc::ty::context::TyCtxt::create_and_enter::hd7fe7b801570431d
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1928
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1967
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/librustc/ty/context.rs:1287
32: 0x7f5cda3e7c65 - rustc_driver::driver::compile_input::h93e075cd739e5863
at src/librustc_driver/driver.rs:1208
at src/librustc_driver/driver.rs:272
33: 0x7f5cda35548a - <scoped_tls::ScopedKey<T>>::set::h521c66b2a0c90bda
at src/librustc_driver/lib.rs:525
at src/librustc_driver/lib.rs:447
at src/librustc_driver/driver.rs:65
at /home/pnkfelix/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.2/src/lib.rs:155
34: 0x7f5cda39117a - rustc_driver::run_compiler::h3965b4a707faae99
at src/librustc_driver/driver.rs:64
at src/librustc_driver/lib.rs:446
35: 0x7f5cda353f4b - <scoped_tls::ScopedKey<T>>::set::h4c45210da3676771
at src/librustc_driver/lib.rs:1639
at src/librustc_driver/lib.rs:169
at /home/pnkfelix/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.2/src/lib.rs:155
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libsyntax/lib.rs:112
at /home/pnkfelix/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-0.1.2/src/lib.rs:155
36: 0x7f5cda3fe142 - std::sys_common::backtrace::__rust_begin_short_backtrace::h6e6f644e9795b361
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libsyntax/lib.rs:111
at src/librustc_driver/lib.rs:168
at src/librustc_driver/lib.rs:1555
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libstd/sys_common/backtrace.rs:135
37: 0x7f5cda197be9 - __rust_maybe_catch_panic
at src/libpanic_unwind/lib.rs:92
38: 0x7f5cda3c53d2 - std::panicking::try::h5bad419b9d149503
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libstd/panicking.rs:276
39: 0x7f5cda3dcb85 - <F as alloc::boxed::FnBox<A>>::call_box::h5c7c221d6c0dc4ed
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libstd/panic.rs:388
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/libstd/thread/mod.rs:468
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/liballoc/boxed.rs:734
40: 0x7f5cda19291d - std::sys_common::thread::start_thread::hd0ca83a387a21514
at /home/pnkfelix/Dev/Mozilla/issue57843/rust-57843/src/liballoc/boxed.rs:744
at src/libstd/sys_common/thread.rs:14
41: 0x7f5cda188415 - std::sys::unix::thread::Thread::new::thread_start::h1c5a30af5b0eefc4
at src/libstd/sys/unix/thread.rs:81
42: 0x7f5cd681e58d - start_thread
at /usr/src/debug/glibc-2.28-60-g4d7af7815a/nptl/pthread_create.c:486
43: 0x7f5cda013652 - clone
44: 0x0 - <unknown>
query stack during panic:
#0 [typeck_tables_of] processing DefId(0/0:6 ~ issue_57843_ice_with_cloneablefn[317d]::main[0]) with query `ty::query::queries::typeck_tables_of` [typeck_tables_of]
#1 [typeck_item_bodies] type-checking all item bodies [typeck_item_bodies]
end of query stack
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.34.0-dev running on x86_64-unknown-linux-gnu
note: compiler flags: -Z verbose
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment