Skip to content

Instantly share code, notes, and snippets.

@tmandry
Created April 8, 2018 00:27
Show Gist options
  • Save tmandry/335899cdabcc97d991b590ce6fcda2f5 to your computer and use it in GitHub Desktop.
Save tmandry/335899cdabcc97d991b590ce6fcda2f5 to your computer and use it in GitHub Desktop.
rustc type inference error 2
#[lang = "sized"]
#[fundamental]
pub trait Sized {
}
pub trait Clone : Sized {
fn clone(&self) -> Self;
}
#[lang = "copy"]
pub trait Copy : Clone {}
#[lang = "freeze"]
unsafe auto trait Freeze {}
pub trait PartialEq<Rhs = Self> {
fn eq(&self, other: &Rhs) -> bool;
}
enum LoopState<C, B> {
Continue(C),
Break(B),
}
impl<C, B> PartialEq<LoopState<C, B>> for LoopState<C, B> {
fn eq(&self, _other: &Self) -> bool { true }
}
pub trait Iterator {
type Item;
fn all(&mut self) -> bool
{
let val = if false { LoopState::Continue(()) } else { LoopState::Break(()) };
//val.my_eq(&LoopState::Continue(())) // this works!
//val == LoopState::Continue(())
PartialEq::eq(&val, &LoopState::Continue(()))
}
}
Compiling core v0.1.0 (file:///Users/tyler/code/rust/rust-core-template)
Running `rustc --crate-name core src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=dc98e8200778de86 -C extra-filename=-dc98e8200778de86 --out-dir /Users/tyler/code/rust/rust-core-template/target/debug/deps -C incremental=/Users/tyler/code/rust/rust-core-template/target/debug/incremental -L dependency=/Users/tyler/code/rust/rust-core-template/target/debug/deps`
rustc::traits::specialize::specialization_graph: insert(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0])): inserting TraitRef <iterator::LoopState<C, B> as iterator::PartialEq> into specialization graph
rustc::traits::specialize::specialization_graph: placing as new sibling
rustc::traits::coherence: orphan_check(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::coherence: orphan_check: trait_ref=<iterator::LoopState<C, B> as iterator::PartialEq>
rustc::traits::coherence: trait DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0]) is local to current crate
rustc_typeck::check::wfcheck: visit_item: Item { name: iterator, id: NodeId(2), hir_id: HirId { owner: DefIndex(0:1), local_id: ItemLocalId(0) }, attrs: [], node: ItemMod(Mod { inner: src/iterator.rs:1:1: 39:2, item_ids: [ItemId { id: NodeId(3) }, ItemId { id: NodeId(5) }, ItemId { id: NodeId(15) }, ItemId { id: NodeId(18) }, ItemId { id: NodeId(20) }, ItemId { id: NodeId(35) }, ItemId { id: NodeId(45) }, ItemId { id: NodeId(69) }] }), vis: Public, span: src/lib.rs:20:1: 20:18 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=2, it.name=iterator)
rustc_typeck::check::wfcheck: visit_item: Item { name: Sized, id: NodeId(3), hir_id: HirId { owner: DefIndex(0:2), local_id: ItemLocalId(0) }, attrs: [Attribute { id: AttrId(10), style: Outer, path: path(lang), tokens: TokenStream { kind: Stream([TokenStream { kind: Tree(Token(src/iterator.rs:1:8: 1:9, Eq)) }, TokenStream { kind: Tree(Token(src/iterator.rs:1:10: 1:17, Literal(Str_(sized), None))) }]) }, is_sugared_doc: false, span: src/iterator.rs:1:1: 1:18 }, Attribute { id: AttrId(11), style: Outer, path: path(fundamental), tokens: TokenStream { kind: Empty }, is_sugared_doc: false, span: src/iterator.rs:2:1: 2:15 }], node: ItemTrait(No, Normal, Generics { params: [], where_clause: WhereClause { id: NodeId(4), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, [], []), vis: Public, span: src/iterator.rs:3:1: 4:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=3, it.name=iterator::Sized)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=2)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0), ParamCandidate(Binder(<Self as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0),Binder(<Self as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(3), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=3
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: Clone, id: NodeId(5), hir_id: HirId { owner: DefIndex(0:3), local_id: ItemLocalId(0) }, attrs: [], node: ItemTrait(No, Normal, Generics { params: [], where_clause: WhereClause { id: NodeId(6), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, [TraitTyParamBound(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: path(Sized), ref_id: NodeId(7) }, span: src/iterator.rs:6:19: 6:24 }, None)], [TraitItemRef { id: TraitItemId { node_id: NodeId(8) }, name: clone, kind: Method { has_self: true }, span: src/iterator.rs:7:5: 7:29, defaultness: Default { has_value: false } }]), vis: Public, span: src/iterator.rs:6:1: 8:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=5, it.name=iterator::Clone)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Clone>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Clone>)) predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Clone>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Clone>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=3)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0), ParamCandidate(Binder(<Self as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0),Binder(<Self as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Clone>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Clone>)) predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Clone>)) predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits::object_safety: object_safety_violations_for_trait(trait_def_id=DefId(0/0:3 ~ core[3d48]::iterator[0]::Clone[0])) = [SizedSelf]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits::object_safety: object_safety_violations_for_trait(trait_def_id=DefId(0/0:2 ~ core[3d48]::iterator[0]::Sized[0])) = [SizedSelf]
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Clone>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Clone>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Clone>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Clone>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0), ParamCandidate(Binder(<Self as iterator::Clone>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0),Binder(<Self as iterator::Clone>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Clone>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Clone>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(5), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=5
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: Copy, id: NodeId(15), hir_id: HirId { owner: DefIndex(0:5), local_id: ItemLocalId(0) }, attrs: [Attribute { id: AttrId(12), style: Outer, path: path(lang), tokens: TokenStream { kind: Stream([TokenStream { kind: Tree(Token(src/iterator.rs:10:8: 10:9, Eq)) }, TokenStream { kind: Tree(Token(src/iterator.rs:10:10: 10:16, Literal(Str_(copy), None))) }]) }, is_sugared_doc: false, span: src/iterator.rs:10:1: 10:17 }], node: ItemTrait(No, Normal, Generics { params: [], where_clause: WhereClause { id: NodeId(16), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, [TraitTyParamBound(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: path(Clone), ref_id: NodeId(17) }, span: src/iterator.rs:11:18: 11:23 }, None)], []), vis: Public, span: src/iterator.rs:11:1: 11:26 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=15, it.name=iterator::Copy)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Copy>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Copy>)) predicates=[Binder(TraitPredicate(<Self as iterator::Clone>))]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Clone>)) predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Copy>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Copy>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0), ParamCandidate(Binder(<Self as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0),Binder(<Self as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Clone>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Clone>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Clone>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Clone>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Clone>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0), ParamCandidate(Binder(<Self as iterator::Clone>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0),Binder(<Self as iterator::Clone>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Clone>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Clone>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is Self
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Copy>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Copy>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Copy>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Copy>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0), ParamCandidate(Binder(<Self as iterator::Copy>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0),Binder(<Self as iterator::Copy>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Copy>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Copy>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Copy>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(15), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=15
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: Freeze, id: NodeId(18), hir_id: HirId { owner: DefIndex(0:6), local_id: ItemLocalId(0) }, attrs: [Attribute { id: AttrId(13), style: Outer, path: path(lang), tokens: TokenStream { kind: Stream([TokenStream { kind: Tree(Token(src/iterator.rs:13:8: 13:9, Eq)) }, TokenStream { kind: Tree(Token(src/iterator.rs:13:10: 13:18, Literal(Str_(freeze), None))) }]) }, is_sugared_doc: false, span: src/iterator.rs:13:1: 13:19 }], node: ItemTrait(Yes, Unsafe, Generics { params: [], where_clause: WhereClause { id: NodeId(19), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, [], []), vis: Inherited, span: src/iterator.rs:14:1: 14:28 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=18, it.name=iterator::Freeze)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Freeze>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Freeze>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Freeze>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Freeze>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Freeze>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Freeze>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Freeze>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Freeze>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Freeze>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Freeze>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Freeze>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Freeze>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=2)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Freeze>)) predicates=[]
rustc::traits::object_safety: object_safety_violations_for_trait(trait_def_id=DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0])) = []
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Freeze>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Freeze>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Freeze>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Freeze>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0), ParamCandidate(Binder(<Self as iterator::Freeze>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0),Binder(<Self as iterator::Freeze>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Freeze>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Freeze>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(18), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=18
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: PartialEq, id: NodeId(20), hir_id: HirId { owner: DefIndex(0:7), local_id: ItemLocalId(0) }, attrs: [], node: ItemTrait(No, Normal, Generics { params: [Type(TyParam { name: Rhs, id: NodeId(21), bounds: [], default: Some(type(Self)), span: src/iterator.rs:16:21: 16:24, pure_wrt_drop: false, synthetic: None, attrs: [] })], where_clause: WhereClause { id: NodeId(23), predicates: [] }, span: src/iterator.rs:16:20: 16:32 }, [], [TraitItemRef { id: TraitItemId { node_id: NodeId(24) }, name: eq, kind: Method { has_self: true }, span: src/iterator.rs:17:5: 17:39, defaultness: Default { has_value: false } }]), vis: Public, span: src/iterator.rs:16:1: 18:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=20, it.name=iterator::PartialEq)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Rhs as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Rhs,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Rhs,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Rhs,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Rhs,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Rhs,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Rhs,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Rhs,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Rhs,depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Rhs as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Rhs as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)) predicates=[]
rustc::traits::object_safety: object_safety_violations_for_trait(trait_def_id=DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0])) = []
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0) poly_trait_ref=Binder(<Self as iterator::PartialEq<Rhs>>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::PartialEq<Rhs>>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::PartialEq<Rhs>>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0), ParamCandidate(Binder(<Self as iterator::PartialEq<Rhs>>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0),Binder(<Self as iterator::PartialEq<Rhs>>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0) poly_trait_ref=Binder(<Self as iterator::PartialEq<Rhs>>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Rhs as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Rhs as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<Rhs as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Rhs as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<Rhs as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0), ParamCandidate(Binder(<Rhs as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0),Binder(<Rhs as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Rhs as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Rhs as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Rhs,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(20), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=20
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: LoopState, id: NodeId(35), hir_id: HirId { owner: DefIndex(0:9), local_id: ItemLocalId(0) }, attrs: [], node: ItemEnum(EnumDef { variants: [Spanned { node: Variant_ { name: Continue, attrs: [], data: Tuple([StructField { span: src/iterator.rs:21:14: 21:16, name: 0, vis: Inherited, id: NodeId(39), ty: type(C), attrs: [] }], NodeId(41)), disr_expr: None }, span: src/iterator.rs:21:5: 21:16 }, Spanned { node: Variant_ { name: Break, attrs: [], data: Tuple([StructField { span: src/iterator.rs:22:11: 22:13, name: 0, vis: Inherited, id: NodeId(42), ty: type(B), attrs: [] }], NodeId(44)), disr_expr: None }, span: src/iterator.rs:22:5: 22:13 }] }, Generics { params: [Type(TyParam { name: C, id: NodeId(36), bounds: [], default: None, span: src/iterator.rs:20:16: 20:17, pure_wrt_drop: false, synthetic: None, attrs: [] }), Type(TyParam { name: B, id: NodeId(37), bounds: [], default: None, span: src/iterator.rs:20:19: 20:20, pure_wrt_drop: false, synthetic: None, attrs: [] })], where_clause: WhereClause { id: NodeId(38), predicates: [] }, span: src/iterator.rs:20:15: 20:21 }), vis: Inherited, span: src/iterator.rs:20:1: 23:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=35, it.name=iterator::LoopState)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<B as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<C as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=C)
rustc::traits::project: normalize_with_depth: depth=0 result=C with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=B)
rustc::traits::project: normalize_with_depth: depth=0 result=B with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=C,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=C,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=B,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=B,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=C,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=C,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=B,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=B,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=B,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=B,depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<C as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<C as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), ParamCandidate(Binder(<C as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0),Binder(<C as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<C as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<B as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<B as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<B as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<B as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), ParamCandidate(Binder(<B as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0),Binder(<B as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<B as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=B,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=C,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(35), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=35
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: , id: NodeId(45), hir_id: HirId { owner: DefIndex(0:10), local_id: ItemLocalId(0) }, attrs: [], node: ItemImpl(Normal, "positive", Final, Generics { params: [Type(TyParam { name: C, id: NodeId(46), bounds: [], default: None, span: src/iterator.rs:25:6: 25:7, pure_wrt_drop: false, synthetic: None, attrs: [] }), Type(TyParam { name: B, id: NodeId(47), bounds: [], default: None, span: src/iterator.rs:25:9: 25:10, pure_wrt_drop: false, synthetic: None, attrs: [] })], where_clause: WhereClause { id: NodeId(48), predicates: [] }, span: src/iterator.rs:25:5: 25:11 }, Some(TraitRef { path: path(PartialEq<LoopState<C, B>>), ref_id: NodeId(49) }), type(LoopState<C, B>), [ImplItemRef { id: ImplItemId { node_id: NodeId(56) }, name: eq, kind: Method { has_self: true }, span: src/iterator.rs:26:5: 26:49, vis: Inherited, defaultness: Final }]), vis: Inherited, span: src/iterator.rs:25:1: 27:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=45, it.name=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc_typeck::check::wfcheck: check_impl: Item { name: , id: NodeId(45), hir_id: HirId { owner: DefIndex(0:10), local_id: ItemLocalId(0) }, attrs: [], node: ItemImpl(Normal, "positive", Final, Generics { params: [Type(TyParam { name: C, id: NodeId(46), bounds: [], default: None, span: src/iterator.rs:25:6: 25:7, pure_wrt_drop: false, synthetic: None, attrs: [] }), Type(TyParam { name: B, id: NodeId(47), bounds: [], default: None, span: src/iterator.rs:25:9: 25:10, pure_wrt_drop: false, synthetic: None, attrs: [] })], where_clause: WhereClause { id: NodeId(48), predicates: [] }, span: src/iterator.rs:25:5: 25:11 }, Some(TraitRef { path: path(PartialEq<LoopState<C, B>>), ref_id: NodeId(49) }), type(LoopState<C, B>), [ImplItemRef { id: ImplItemId { node_id: NodeId(56) }, name: eq, kind: Method { has_self: true }, span: src/iterator.rs:26:5: 26:49, vis: Inherited, defaultness: Final }]), vis: Inherited, span: src/iterator.rs:25:1: 27:2 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<B as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<C as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=0 result=<iterator::LoopState<C, B> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)) predicates=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=iterator::LoopState<C, B>,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=iterator::LoopState<C, B>,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=C,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=C,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=B,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=B,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=B,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=B,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=0 result=<iterator::LoopState<C, B> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=1, value=<iterator::LoopState<_, _> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=1 result=<iterator::LoopState<_, _> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: match_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0), impl_trait_ref=<iterator::LoopState<_, _> as iterator::PartialEq>, skol_obligation_trait_ref=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc::traits::select: match_impl: success impl_substs=Slice([_, _])
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=iterator::LoopState<C, B>)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0)): [ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)))=Ok(Some(ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0), ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0])))
rustc::traits::select: confirm_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0),DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=<iterator::LoopState<_, _> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=1 result=<iterator::LoopState<_, _> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: match_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0), impl_trait_ref=<iterator::LoopState<_, _> as iterator::PartialEq>, skol_obligation_trait_ref=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc::traits::select: match_impl: success impl_substs=Slice([_, _])
rustc::traits::select: confirm_impl_candidate substs=Normalized(Slice([_, _]),[])
rustc::traits::select: vtable_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), substs=Normalized(Slice([_, _]),[]), recursion_depth=1, skol_map={})
rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_ as iterator::Sized>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<C as iterator::Sized>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_ as iterator::Sized>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<B as iterator::Sized>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: vtable_impl: impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]) impl_obligations=[Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=1), Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=1)]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>))` at depth 0 yielded Ok(Some)
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<C as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<C as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), ParamCandidate(Binder(<C as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0),Binder(<C as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<C as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<B as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<B as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<B as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<B as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), ParamCandidate(Binder(<B as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0),Binder(<B as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<B as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=B,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=C,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=iterator::LoopState<C, B>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::PartialEq>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(45), wf_tys=[iterator::LoopState<C, B>, iterator::LoopState<C, B>])
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_region_obligations: node_id=45
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: Iterator, id: NodeId(69), hir_id: HirId { owner: DefIndex(0:12), local_id: ItemLocalId(0) }, attrs: [], node: ItemTrait(No, Normal, Generics { params: [], where_clause: WhereClause { id: NodeId(70), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, [], [TraitItemRef { id: TraitItemId { node_id: NodeId(71) }, name: Item, kind: Type, span: src/iterator.rs:30:5: 30:15, defaultness: Default { has_value: false } }, TraitItemRef { id: TraitItemId { node_id: NodeId(73) }, name: all, kind: Method { has_self: true }, span: src/iterator.rs:32:5: 38:6, defaultness: Default { has_value: true } }]), vis: Public, span: src/iterator.rs:29:1: 39:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=69, it.name=iterator::Iterator)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Iterator>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))])
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: project: obligation_trait_ref=<Self as iterator::Iterator>
rustc::traits::project: assemble_candidates_from_param_env(..)
rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as iterator::Iterator>))
rustc::traits::project: assemble_candidates_from_trait_def(..)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Iterator>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Iterator>)) predicates=[]
rustc::traits::object_safety: object_safety_violations_for_trait(trait_def_id=DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0])) = []
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Iterator>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::project: opt_normalize_projection_type: projected_ty=<Self as iterator::Iterator>::Item no progress
rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }, value=Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 0 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: project: obligation_trait_ref=<Self as iterator::Iterator>
rustc::traits::project: assemble_candidates_from_param_env(..)
rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as iterator::Iterator>))
rustc::traits::project: assemble_candidates_from_trait_def(..)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Iterator>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::project: opt_normalize_projection_type: projected_ty=<Self as iterator::Iterator>::Item no progress
rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }, value=Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 0 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Iterator>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: match_projection_obligation_against_definition_bounds: skol_trait_predicate=TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>) skol_map={}
rustc::traits::select: match_projection_obligation_against_definition_bounds: def_id=DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0]), substs=Slice([Self])
rustc::traits::select: match_projection_obligation_against_definition_bounds: bounds=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::select: match_projection_obligation_against_definition_bounds: matching_bound=Some(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: candidate list size: 2
rustc::traits::select: assembled 2 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0)): [ProjectionCandidate, ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits::select: evaluate_candidate: depth=0 candidate=ProjectionCandidate
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ProjectionCandidate)
rustc::traits::select: match_projection_obligation_against_definition_bounds: skol_trait_predicate=TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>) skol_map={}
rustc::traits::select: match_projection_obligation_against_definition_bounds: def_id=DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0]), substs=Slice([Self])
rustc::traits::select: match_projection_obligation_against_definition_bounds: bounds=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::select: match_projection_obligation_against_definition_bounds: matching_bound=Some(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: evaluate_candidate: depth=0 candidate=ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0),Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: Dropping candidate #0/2: EvaluatedCandidate { candidate: ProjectionCandidate, evaluation: EvaluatedToOk }
rustc::traits::select: Retaining candidate #0/1: EvaluatedCandidate { candidate: ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)), evaluation: EvaluatedToOk }
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0),Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(69), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=69
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: prelude, id: NodeId(102), hir_id: HirId { owner: DefIndex(0:15), local_id: ItemLocalId(0) }, attrs: [], node: ItemMod(Mod { inner: src/lib.rs:23:19: 23:35, item_ids: [ItemId { id: NodeId(103) }] }), vis: Public, span: src/lib.rs:23:1: 23:35 }
rustc_typeck::check::wfcheck: visit_item: Item { name: v1, id: NodeId(103), hir_id: HirId { owner: DefIndex(0:16), local_id: ItemLocalId(0) }, attrs: [], node: ItemMod(Mod { inner: src/lib.rs:23:32: 23:33, item_ids: [] }), vis: Public, span: src/lib.rs:23:19: 23:33 }
rustc_typeck::check::wfcheck: visit_trait_item: TraitItem { id: NodeId(8), name: clone, hir_id: HirId { owner: DefIndex(0:4), local_id: ItemLocalId(0) }, attrs: [], generics: Generics { params: [], where_clause: WhereClause { id: NodeId(9), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [type(&Self)], output: Return(type(Self)), variadic: false, has_implicit_self: true } }, Required([Spanned { node: self, span: src/iterator.rs:7:15: 7:19 }])), span: src/iterator.rs:7:5: 7:29 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Clone>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Clone>)) predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self]; variadic: false)->Self))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self]; variadic: false)->Self) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self]; variadic: false)->Self))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self]; variadic: false)->Self) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=&Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&Self,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Clone>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Clone>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc_typeck::check::wfcheck: check_method_receiver(AssociatedItem { def_id: DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), name: clone, kind: Method, vis: Public, defaultness: Default { has_value: false }, container: TraitContainer(DefId(0/0:3 ~ core[3d48]::iterator[0]::Clone[0])), method_has_self_argument: true }, self_ty=Self)
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self]; variadic: false)->Self))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self]; variadic: false)->Self) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::wfcheck: check_method_receiver: sig=([&Self]; variadic: false)->Self
rustc::traits::project: normalize_with_depth(depth=0, value=Self)
rustc::traits::project: normalize_with_depth: depth=0 result=Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=&Self)
rustc::traits::project: normalize_with_depth: depth=0 result=&Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&Self
rustc_typeck::check::autoderef: autoderef stage #0 is &Self
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `&Self` to match `Self`
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&Self
rustc_typeck::check::autoderef: autoderef stage #1 is Self from (&Self, Builtin)
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `Self` to match `Self`
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0), ParamCandidate(Binder(<Self as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0),Binder(<Self as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Clone>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Clone>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Clone>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Clone>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Clone>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0), ParamCandidate(Binder(<Self as iterator::Clone>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0),Binder(<Self as iterator::Clone>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Clone>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Clone>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Clone>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), BrAnon(0)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&Self,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(8), wf_tys=[&Self, Self])
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_region_obligations: node_id=8
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_trait_item: TraitItem { id: NodeId(24), name: eq, hir_id: HirId { owner: DefIndex(0:8), local_id: ItemLocalId(0) }, attrs: [], generics: Generics { params: [], where_clause: WhereClause { id: NodeId(25), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [type(&Self), type(&Rhs)], output: Return(type(bool)), variadic: false, has_implicit_self: true } }, Required([Spanned { node: self, span: src/iterator.rs:17:12: 17:16 }, Spanned { node: other, span: src/iterator.rs:17:18: 17:23 }])), span: src/iterator.rs:17:5: 17:39 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Rhs as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self, &Rhs]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self, &Rhs]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self, &Rhs]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self, &Rhs]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=&Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&Self,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=&Rhs,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&Rhs,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=bool,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=bool,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Rhs,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Rhs,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Rhs,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Rhs,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Rhs,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Rhs,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Rhs,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Rhs,depth=0))
rustc_typeck::check::wfcheck: check_method_receiver(AssociatedItem { def_id: DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), name: eq, kind: Method, vis: Public, defaultness: Default { has_value: false }, container: TraitContainer(DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0])), method_has_self_argument: true }, self_ty=Self)
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self, &Rhs]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self, &Rhs]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::wfcheck: check_method_receiver: sig=([&Self, &Rhs]; variadic: false)->bool
rustc::traits::project: normalize_with_depth(depth=0, value=Self)
rustc::traits::project: normalize_with_depth: depth=0 result=Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=&Self)
rustc::traits::project: normalize_with_depth: depth=0 result=&Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&Self
rustc_typeck::check::autoderef: autoderef stage #0 is &Self
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `&Self` to match `Self`
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&Self
rustc_typeck::check::autoderef: autoderef stage #1 is Self from (&Self, Builtin)
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `Self` to match `Self`
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Rhs, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(1)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Rhs, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(1)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0) poly_trait_ref=Binder(<Self as iterator::PartialEq<Rhs>>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::PartialEq<Rhs>>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::PartialEq<Rhs>>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0), ParamCandidate(Binder(<Self as iterator::PartialEq<Rhs>>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0),Binder(<Self as iterator::PartialEq<Rhs>>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0) poly_trait_ref=Binder(<Self as iterator::PartialEq<Rhs>>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Rhs as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Rhs as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<Rhs as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Rhs as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<Rhs as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0), ParamCandidate(Binder(<Rhs as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0),Binder(<Rhs as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Rhs as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Rhs as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=bool,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Rhs,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Rhs as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(Rhs, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(1)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(0)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&Rhs,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&Self,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(24), wf_tys=[&Self, &Rhs, bool])
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Rhs, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(1)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Rhs, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(1)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_region_obligations: node_id=24
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_trait_item: TraitItem { id: NodeId(71), name: Item, hir_id: HirId { owner: DefIndex(0:13), local_id: ItemLocalId(0) }, attrs: [], generics: Generics { params: [], where_clause: WhereClause { id: NodeId(72), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, node: Type([], None), span: src/iterator.rs:30:5: 30:15 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Iterator>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))])
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: project: obligation_trait_ref=<Self as iterator::Iterator>
rustc::traits::project: assemble_candidates_from_param_env(..)
rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as iterator::Iterator>))
rustc::traits::project: assemble_candidates_from_trait_def(..)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Iterator>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::project: opt_normalize_projection_type: projected_ty=<Self as iterator::Iterator>::Item no progress
rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }, value=Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 0 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(71), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=71
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_trait_item: TraitItem { id: NodeId(73), name: all, hir_id: HirId { owner: DefIndex(0:14), local_id: ItemLocalId(0) }, attrs: [], generics: Generics { params: [], where_clause: WhereClause { id: NodeId(74), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [type(&mut Self)], output: Return(type(bool)), variadic: false, has_implicit_self: true } }, Provided(BodyId { node_id: NodeId(116) })), span: src/iterator.rs:32:5: 38:6 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Iterator>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))])
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: project: obligation_trait_ref=<Self as iterator::Iterator>
rustc::traits::project: assemble_candidates_from_param_env(..)
rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as iterator::Iterator>))
rustc::traits::project: assemble_candidates_from_trait_def(..)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Iterator>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::project: opt_normalize_projection_type: projected_ty=<Self as iterator::Iterator>::Item no progress
rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }, value=Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 0 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&mut Self]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&mut Self]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&mut Self]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&mut Self]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=&mut Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&mut Self,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=bool,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=bool,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: project: obligation_trait_ref=<Self as iterator::Iterator>
rustc::traits::project: assemble_candidates_from_param_env(..)
rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as iterator::Iterator>))
rustc::traits::project: assemble_candidates_from_trait_def(..)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Iterator>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::project: opt_normalize_projection_type: projected_ty=<Self as iterator::Iterator>::Item no progress
rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }, value=Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 0 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check::wfcheck: check_method_receiver(AssociatedItem { def_id: DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), name: all, kind: Method, vis: Public, defaultness: Default { has_value: true }, container: TraitContainer(DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0])), method_has_self_argument: true }, self_ty=Self)
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&mut Self]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&mut Self]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::wfcheck: check_method_receiver: sig=([&mut Self]; variadic: false)->bool
rustc::traits::project: normalize_with_depth(depth=0, value=Self)
rustc::traits::project: normalize_with_depth: depth=0 result=Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=&mut Self)
rustc::traits::project: normalize_with_depth: depth=0 result=&mut Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&mut Self
rustc_typeck::check::autoderef: autoderef stage #0 is &mut Self
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `&mut Self` to match `Self`
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&mut Self
rustc_typeck::check::autoderef: autoderef stage #1 is Self from (&mut Self, Builtin)
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `Self` to match `Self`
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=6)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Iterator>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: match_projection_obligation_against_definition_bounds: skol_trait_predicate=TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>) skol_map={}
rustc::traits::select: match_projection_obligation_against_definition_bounds: def_id=DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0]), substs=Slice([Self])
rustc::traits::select: match_projection_obligation_against_definition_bounds: bounds=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::select: match_projection_obligation_against_definition_bounds: matching_bound=Some(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: candidate list size: 2
rustc::traits::select: assembled 2 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0)): [ProjectionCandidate, ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits::select: evaluate_candidate: depth=0 candidate=ProjectionCandidate
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ProjectionCandidate)
rustc::traits::select: match_projection_obligation_against_definition_bounds: skol_trait_predicate=TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>) skol_map={}
rustc::traits::select: match_projection_obligation_against_definition_bounds: def_id=DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0]), substs=Slice([Self])
rustc::traits::select: match_projection_obligation_against_definition_bounds: bounds=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::select: match_projection_obligation_against_definition_bounds: matching_bound=Some(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: evaluate_candidate: depth=0 candidate=ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0),Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: Dropping candidate #0/2: EvaluatedCandidate { candidate: ProjectionCandidate, evaluation: EvaluatedToOk }
rustc::traits::select: Retaining candidate #0/1: EvaluatedCandidate { candidate: ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)), evaluation: EvaluatedToOk }
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0),Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=bool,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&mut Self,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(73), wf_tys=[&mut Self, bool])
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_region_obligations: node_id=73
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_impl_item: ImplItem { id: NodeId(56), name: eq, hir_id: HirId { owner: DefIndex(0:11), local_id: ItemLocalId(0) }, vis: Inherited, defaultness: Final, attrs: [], generics: Generics { params: [], where_clause: WhereClause { id: NodeId(57), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [type(&Self), type(&Self)], output: Return(type(bool)), variadic: false, has_implicit_self: true } }, BodyId { node_id: NodeId(112) }), span: src/iterator.rs:26:5: 26:49 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<B as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<C as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=0 result=<iterator::LoopState<C, B> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=&iterator::LoopState<C, B>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&iterator::LoopState<C, B>,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=&iterator::LoopState<C, B>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&iterator::LoopState<C, B>,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=bool,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=bool,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=C,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=C,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=B,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=B,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=B,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=B,depth=0))
rustc_typeck::check::wfcheck: check_method_receiver(AssociatedItem { def_id: DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), name: eq, kind: Method, vis: Restricted(DefId(0/0:1 ~ core[3d48]::iterator[0])), defaultness: Final, container: ImplContainer(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0])), method_has_self_argument: true }, self_ty=iterator::LoopState<C, B>)
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::wfcheck: check_method_receiver: sig=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool
rustc::traits::project: normalize_with_depth(depth=0, value=iterator::LoopState<C, B>)
rustc::traits::project: normalize_with_depth: depth=0 result=iterator::LoopState<C, B> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=&iterator::LoopState<C, B>)
rustc::traits::project: normalize_with_depth: depth=0 result=&iterator::LoopState<C, B> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<C, B>
rustc_typeck::check::autoderef: autoderef stage #0 is &iterator::LoopState<C, B>
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `&iterator::LoopState<C, B>` to match `iterator::LoopState<C, B>`
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<C, B>
rustc_typeck::check::autoderef: autoderef stage #1 is iterator::LoopState<C, B> from (&iterator::LoopState<C, B>, Builtin)
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `iterator::LoopState<C, B>` to match `iterator::LoopState<C, B>`
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<C as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<C as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), ParamCandidate(Binder(<C as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0),Binder(<C as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<C as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<B as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<B as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<B as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<B as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), ParamCandidate(Binder(<B as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0),Binder(<B as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<B as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=bool,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=B,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=C,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&iterator::LoopState<C, B>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&iterator::LoopState<C, B>,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(56), wf_tys=[iterator::LoopState<C, B>, iterator::LoopState<C, B>, &iterator::LoopState<C, B>, &iterator::LoopState<C, B>, bool])
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_region_obligations: node_id=56
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: check_item_type(it.id=2, it.name=iterator)
rustc_typeck::check: check_item_type(it.id=3, it.name=iterator::Sized)
rustc_typeck::check: check_item_type(it.id=5, it.name=iterator::Clone)
rustc_typeck::check: check_item_type(it.id=15, it.name=iterator::Copy)
rustc_typeck::check: check_item_type(it.id=18, it.name=iterator::Freeze)
rustc_typeck::check: check_item_type(it.id=20, it.name=iterator::PartialEq)
rustc_typeck::check: check_item_type(it.id=35, it.name=iterator::LoopState)
rustc_typeck::check: check_item_type(it.id=45, it.name=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc_typeck::check: ItemImpl with id 45
rustc_typeck::check::compare_method: compare_impl_method(impl_trait_ref=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc_typeck::check::compare_method: compare_impl_method: trait_to_skol_substs=Slice([iterator::LoopState<C, B>, iterator::LoopState<C, B>])
rustc_typeck::check::compare_method: check_region_bounds_on_impl_method: trait_generics=Generics { parent: Some(DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0])), parent_regions: 0, parent_types: 2, regions: [], types: [], type_param_to_index: {}, has_self: true, has_late_bound_regions: Some(src/iterator.rs:17:11: 17:11) } impl_generics=Generics { parent: Some(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0])), parent_regions: 0, parent_types: 2, regions: [], types: [], type_param_to_index: {}, has_self: false, has_late_bound_regions: Some(src/iterator.rs:26:11: 26:11) } trait_to_skol_substs=Slice([iterator::LoopState<C, B>, iterator::LoopState<C, B>])
rustc_typeck::check::compare_method: compare_impl_method: impl_bounds=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))])
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<B as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<C as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc_typeck::check::compare_method: compare_impl_method: caller_bounds=Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool)
rustc::traits::project: normalize_with_depth: depth=0 result=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::compare_method: compare_impl_method: impl_fty=fn(&iterator::LoopState<C, B>, &iterator::LoopState<C, B>) -> bool
rustc::traits::project: normalize_with_depth(depth=0, value=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool)
rustc::traits::project: normalize_with_depth: depth=0 result=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::compare_method: compare_impl_method: trait_fty=fn(&iterator::LoopState<C, B>, &iterator::LoopState<C, B>) -> bool
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(56), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=56
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: check_item_type(it.id=69, it.name=iterator::Iterator)
rustc_typeck::check: check_item_type(it.id=102, it.name=prelude)
rustc_typeck::check: check_item_type(it.id=103, it.name=prelude::v1)
rustc::traits::project: normalize_with_depth(depth=0, value=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool)
rustc::traits::project: normalize_with_depth: depth=0 result=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: check_fn(sig=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool, fn_id=56, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc_typeck::check: instantiate_anon_types_from_return_value(fn_def_id=DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), value=bool)
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: Pattern binding self is assigned to _ with type _
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: Pattern binding _other is assigned to _ with type _
rustc_typeck::check::_match: check_pat_walk(pat=pat(59: self),expected=&iterator::LoopState<C, B>,def_bm=BindByValue(MutImmutable),is_arg=true)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(5) }, &iterator::LoopState<C, B>) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(4) }, &iterator::LoopState<C, B>) in fcx
rustc_typeck::check::_match: check_pat_walk(pat=pat(63: _other),expected=&iterator::LoopState<C, B>,def_bm=BindByValue(MutImmutable),is_arg=true)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(7) }, &iterator::LoopState<C, B>) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(6) }, &iterator::LoopState<C, B>) in fcx
rustc_typeck::check: >> typechecking: expr=expr(112: { true }) expected=ExpectHasType(bool)
rustc_typeck::check: >> typechecking: expr=expr(68: true) expected=ExpectHasType(bool)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(1) }, bool) in fcx
rustc_typeck::check: type of expr true (id=68) is...
rustc_typeck::check: ... bool, expected is ExpectHasType(bool)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=bool)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=bool
rustc_typeck::check::coercion: coercion::try(expr(68: true): bool -> bool)
rustc_typeck::check::coercion: Coerce.tys(bool => bool)
rustc_typeck::check::coercion: coerce_unsized(source=bool, target=bool)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(68: true), adj=[])
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(2) }, bool) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(3) }, bool) in fcx
rustc_typeck::check: type of expr { true } (id=112) is...
rustc_typeck::check: ... bool, expected is ExpectHasType(bool)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=bool)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=bool
rustc_typeck::check::coercion: coercion::try(expr(112: { true }): bool -> bool)
rustc_typeck::check::coercion: Coerce.tys(bool => bool)
rustc_typeck::check::coercion: coerce_unsized(source=bool, target=bool)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(112: { true }), adj=[])
rustc::traits::fulfill: select(obligation-forest-size=3)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<bool as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<bool as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<bool as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<bool as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_fn(id=56)
rustc_typeck::check::regionck: visit_fn_body(id=56)
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck::link_fn_args(body_scope=Node(ItemLocalId(3)))
rustc_typeck::check::regionck: arg_ty=&iterator::LoopState<C, B> arg_cmt=cmt_ { id: NodeId(58), span: src/iterator.rs:26:11: 26:16, cat: Rvalue(ReScope(Node(ItemLocalId(3)))), mutbl: McDeclared, ty: &iterator::LoopState<C, B>, note: NoteNone } arg=Arg { pat: pat(59: self), id: NodeId(58), hir_id: HirId { owner: DefIndex(0:11), local_id: ItemLocalId(4) } }
rustc_typeck::check::regionck: link_pattern(discr_cmt=cmt_ { id: NodeId(58), span: src/iterator.rs:26:11: 26:16, cat: Rvalue(ReScope(Node(ItemLocalId(3)))), mutbl: McDeclared, ty: &iterator::LoopState<C, B>, note: NoteNone }, root_pat=pat(59: self))
rustc_typeck::check::regionck: arg_ty=&iterator::LoopState<C, B> arg_cmt=cmt_ { id: NodeId(62), span: src/iterator.rs:26:18: 26:24, cat: Rvalue(ReScope(Node(ItemLocalId(3)))), mutbl: McDeclared, ty: &iterator::LoopState<C, B>, note: NoteNone } arg=Arg { pat: pat(63: _other), id: NodeId(62), hir_id: HirId { owner: DefIndex(0:11), local_id: ItemLocalId(6) } }
rustc_typeck::check::regionck: link_pattern(discr_cmt=cmt_ { id: NodeId(62), span: src/iterator.rs:26:18: 26:24, cat: Rvalue(ReScope(Node(ItemLocalId(3)))), mutbl: McDeclared, ty: &iterator::LoopState<C, B>, note: NoteNone }, root_pat=pat(63: _other))
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(112: { true }), repeating_scope=112)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(112: { true }))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: bool scope: Node(ItemLocalId(3))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=bool, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(112: { true }), repeating_scope=112) - visiting subexprs
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(68: true), repeating_scope=112)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(68: true))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: bool scope: Node(ItemLocalId(3))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=bool, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(68: true), repeating_scope=112) - visiting subexprs
rustc_typeck::check::regionck: visit_region_obligations: node_id=112
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_fn_body body.id BodyId { node_id: NodeId(112) } call_site_scope: CallSite(ItemLocalId(3))
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=bool, ty0=bool, id=HirId { owner: DefIndex(0:11), local_id: ItemLocalId(3) }, minimum_lifetime=ReScope(CallSite(ItemLocalId(3))))
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(4) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(4) }, &iterator::LoopState<C, B>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(4) } has type &iterator::LoopState<C, B>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(6) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(6) }, &iterator::LoopState<C, B>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(6) } has type &iterator::LoopState<C, B>
rustc_typeck::check::writeback: No pat_adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(5) }
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(5) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(5) }, &iterator::LoopState<C, B>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(5) } has type &iterator::LoopState<C, B>
rustc_typeck::check::writeback: No pat_adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(7) }
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(7) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(7) }, &iterator::LoopState<C, B>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(7) } has type &iterator::LoopState<C, B>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(3) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(3) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(3) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(2) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(2) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(2) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(1) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(1) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(1) } has type bool
rustc_typeck::check::writeback: used_trait_imports(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0])) = {}
rustc_typeck::check::writeback: writeback: tables for DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]) are TypeckTables {
local_id_root: Some(
DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0])
),
type_dependent_defs: {},
user_provided_tys: {},
node_types: {
ItemLocalId(
5
): &iterator::LoopState<C, B>,
ItemLocalId(
2
): bool,
ItemLocalId(
7
): &iterator::LoopState<C, B>,
ItemLocalId(
4
): &iterator::LoopState<C, B>,
ItemLocalId(
1
): bool,
ItemLocalId(
6
): &iterator::LoopState<C, B>,
ItemLocalId(
3
): bool
},
node_substs: {},
adjustments: {},
pat_binding_modes: {
ItemLocalId(
5
): BindByValue(
MutImmutable
),
ItemLocalId(
7
): BindByValue(
MutImmutable
)
},
pat_adjustments: {},
upvar_capture_map: {},
closure_kind_origins: {},
liberated_fn_sigs: {
ItemLocalId(
0
): ([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool
},
fru_field_types: {},
cast_kinds: {},
used_trait_imports: {},
tainted_by_errors: false,
free_region_map: FreeRegionMap {
relation: TransitiveRelation {
elements: [],
map: {},
edges: [],
closure: Lock(
RefCell {
value: None
}
)
}
}
}
rustc::traits::project: normalize_with_depth(depth=0, value=([&mut Self]; variadic: false)->bool)
rustc::traits::project: normalize_with_depth: depth=0 result=([&mut Self]; variadic: false)->bool with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: check_fn(sig=([&mut Self]; variadic: false)->bool, fn_id=73, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc_typeck::check: instantiate_anon_types_from_return_value(fn_def_id=DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), value=bool)
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: Pattern binding self is assigned to _ with type _
rustc_typeck::check: Local variable pat(82: val) is assigned type _
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: Pattern binding val is assigned to _ with type _
rustc_typeck::check::_match: check_pat_walk(pat=pat(76: self),expected=&mut Self,def_bm=BindByValue(MutImmutable),is_arg=true)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(27) }, &mut Self) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(26) }, &mut Self) in fcx
rustc_typeck::check: >> typechecking: expr=expr(116: {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) }) expected=ExpectHasType(bool)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(1) }, _) in fcx
rustc_typeck::check: >> typechecking: expr=expr(93: ) expected=ExpectHasType(_)
rustc_typeck::check: >> typechecking: expr=expr(83: false) expected=ExpectIfCondition
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(13) }, bool) in fcx
rustc_typeck::check: type of expr false (id=83) is...
rustc_typeck::check: ... bool, expected is ExpectIfCondition
rustc_typeck::check: >> typechecking: expr=expr(115: { LoopState::Continue(()) }) expected=NoExpectation
rustc_typeck::check: >> typechecking: expr=expr(87: LoopState::Continue(())) expected=NoExpectation
rustc_typeck::check: >> typechecking: expr=expr(85: LoopState::Continue) expected=NoExpectation
rustc_typeck::check: instantiate_value_path(path=[PathSegment { name: LoopState, parameters: None, infer_types: true }, PathSegment { name: Continue, parameters: None, infer_types: true }], def=VariantCtor(DefId(0/1:10 ~ core[3d48]::iterator[0]::LoopState[0]::Continue[0]), Fn), node_id=85)
rustc_typeck::check: type_segment=Some((PathSegment { name: Continue, parameters: None, infer_types: true }, Generics { parent: None, parent_regions: 0, parent_types: 0, regions: [], types: [TypeParameterDef(C, DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]), 0), TypeParameterDef(B, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]), 1)], type_param_to_index: {DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]): 0, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]): 1}, has_self: false, has_late_bound_regions: None })) fn_segment=None
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_bounds(bounds=GenericPredicates([]), substs=Slice([_, _])) = InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))])
rustc_typeck::check: add_obligations_for_parameters(predicates=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::project: normalize_with_depth: depth=0 result=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue} with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_type_scheme(value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}, substs=Slice([_, _])) = fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: instantiate_value_path: type of NodeId(85) is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: write_substs(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) }, Slice([_, _])) in fcx
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) }, fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}) in fcx
rustc_typeck::check: type of expr LoopState::Continue (id=85) is...
rustc_typeck::check: ... fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<bool as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<bool as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&mut Self as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&mut Self as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<&mut Self as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: candidate set contains ambig
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::autoderef: autoderef stage #0 is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::callee: try_overloaded_call_step(call_expr=expr(87: LoopState::Continue(())), adjusted_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc_typeck::check: apply_adjustments(expr=expr(85: LoopState::Continue), adj=[])
rustc::traits::project: normalize_with_depth(depth=0, value=([_]; variadic: false)->iterator::LoopState<_, _>)
rustc::traits::project: normalize_with_depth: depth=0 result=([_]; variadic: false)->iterator::LoopState<_, _> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<_, _>
rustc_typeck::check: expected_inputs_for_expected_output(formal=[_] -> iterator::LoopState<_, _>, expected=[] -> NoExpectation)
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: check_argument_types: formal_tys=["_"]
rustc_typeck::check: check_closures=false
rustc_typeck::check: checking the argument
rustc_typeck::check: >> typechecking: expr=expr(86: ()) expected=ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(9) }, ()) in fcx
rustc_typeck::check: type of expr () (id=86) is...
rustc_typeck::check: ... (), expected is ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=6)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<() as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<() as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc_typeck::check: resolve_type_vars_with_obligations(ty=())
rustc_typeck::check: resolve_type_vars_with_obligations: ty=()
rustc_typeck::check::coercion: coercion::try(expr(86: ()): () -> _)
rustc_typeck::check::coercion: Coerce.tys(() => _)
rustc_typeck::check::coercion: coerce_unsized(source=(), target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(86: ()), adj=[])
rustc_typeck::check: check_closures=true
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(3 predicates remaining, 0 errors) done
rustc_typeck::check: register_predicate(Obligation(predicate=iterator::LoopState<_, _>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=iterator::LoopState<(), _>,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(10) }, iterator::LoopState<(), _>) in fcx
rustc_typeck::check: type of expr LoopState::Continue(()) (id=87) is...
rustc_typeck::check: ... iterator::LoopState<_, _>, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(4 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<(), _>
rustc_typeck::check::coercion: coercion::try(expr(87: LoopState::Continue(())): iterator::LoopState<(), _> -> _)
rustc_typeck::check::coercion: Coerce.tys(iterator::LoopState<(), _> => _)
rustc_typeck::check::coercion: coerce_unsized(source=iterator::LoopState<(), _>, target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc_typeck::check: apply_adjustments(expr=expr(87: LoopState::Continue(())), adj=[])
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(11) }, iterator::LoopState<(), _>) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(12) }, iterator::LoopState<(), _>) in fcx
rustc_typeck::check: type of expr { LoopState::Continue(()) } (id=115) is...
rustc_typeck::check: ... _, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<(), _>)
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<(), _>
rustc_typeck::check::coercion: coercion::try(expr(115: { LoopState::Continue(()) }): iterator::LoopState<(), _> -> _)
rustc_typeck::check::coercion: Coerce.tys(iterator::LoopState<(), _> => _)
rustc_typeck::check::coercion: coerce_unsized(source=iterator::LoopState<(), _>, target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc_typeck::check: apply_adjustments(expr=expr(115: { LoopState::Continue(()) }), adj=[])
rustc_typeck::check: >> typechecking: expr=expr(92: { LoopState::Break(()) }) expected=NoExpectation
rustc_typeck::check: >> typechecking: expr=expr(91: LoopState::Break(())) expected=NoExpectation
rustc_typeck::check: >> typechecking: expr=expr(89: LoopState::Break) expected=NoExpectation
rustc_typeck::check: instantiate_value_path(path=[PathSegment { name: LoopState, parameters: None, infer_types: true }, PathSegment { name: Break, parameters: None, infer_types: true }], def=VariantCtor(DefId(0/1:12 ~ core[3d48]::iterator[0]::LoopState[0]::Break[0]), Fn), node_id=89)
rustc_typeck::check: type_segment=Some((PathSegment { name: Break, parameters: None, infer_types: true }, Generics { parent: None, parent_regions: 0, parent_types: 0, regions: [], types: [TypeParameterDef(C, DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]), 0), TypeParameterDef(B, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]), 1)], type_param_to_index: {DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]): 0, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]): 1}, has_self: false, has_late_bound_regions: None })) fn_segment=None
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_bounds(bounds=GenericPredicates([]), substs=Slice([_, _])) = InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))])
rustc_typeck::check: add_obligations_for_parameters(predicates=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break})
rustc::traits::project: normalize_with_depth: depth=0 result=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break} with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_type_scheme(value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}, substs=Slice([_, _])) = fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check: instantiate_value_path: type of NodeId(89) is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check: write_substs(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) }, Slice([_, _])) in fcx
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) }, fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}) in fcx
rustc_typeck::check: type of expr LoopState::Break (id=89) is...
rustc_typeck::check: ... fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break})
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check::autoderef: autoderef stage #0 is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break})
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check::callee: try_overloaded_call_step(call_expr=expr(91: LoopState::Break(())), adjusted_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break})
rustc_typeck::check: apply_adjustments(expr=expr(89: LoopState::Break), adj=[])
rustc::traits::project: normalize_with_depth(depth=0, value=([_]; variadic: false)->iterator::LoopState<_, _>)
rustc::traits::project: normalize_with_depth: depth=0 result=([_]; variadic: false)->iterator::LoopState<_, _> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<_, _>
rustc_typeck::check: expected_inputs_for_expected_output(formal=[_] -> iterator::LoopState<_, _>, expected=[] -> NoExpectation)
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: check_argument_types: formal_tys=["_"]
rustc_typeck::check: check_closures=false
rustc_typeck::check: checking the argument
rustc_typeck::check: >> typechecking: expr=expr(90: ()) expected=ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(4) }, ()) in fcx
rustc_typeck::check: type of expr () (id=90) is...
rustc_typeck::check: ... (), expected is ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc_typeck::check: resolve_type_vars_with_obligations(ty=())
rustc_typeck::check: resolve_type_vars_with_obligations: ty=()
rustc_typeck::check::coercion: coercion::try(expr(90: ()): () -> _)
rustc_typeck::check::coercion: Coerce.tys(() => _)
rustc_typeck::check::coercion: coerce_unsized(source=(), target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(90: ()), adj=[])
rustc_typeck::check: check_closures=true
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(8 predicates remaining, 0 errors) done
rustc_typeck::check: register_predicate(Obligation(predicate=iterator::LoopState<_, _>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=iterator::LoopState<_, ()>,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(5) }, iterator::LoopState<_, ()>) in fcx
rustc_typeck::check: type of expr LoopState::Break(()) (id=91) is...
rustc_typeck::check: ... iterator::LoopState<_, _>, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=9)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(9 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<_, ()>
rustc_typeck::check::coercion: coercion::try(expr(91: LoopState::Break(())): iterator::LoopState<_, ()> -> _)
rustc_typeck::check::coercion: Coerce.tys(iterator::LoopState<_, ()> => _)
rustc_typeck::check::coercion: coerce_unsized(source=iterator::LoopState<_, ()>, target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc_typeck::check: apply_adjustments(expr=expr(91: LoopState::Break(())), adj=[])
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(6) }, iterator::LoopState<_, ()>) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(7) }, iterator::LoopState<_, ()>) in fcx
rustc_typeck::check: type of expr { LoopState::Break(()) } (id=92) is...
rustc_typeck::check: ... _, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<(), _>
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, ()>)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<_, ()>
rustc_typeck::check::coercion: coercion::try_find_coercion_lub(iterator::LoopState<(), _>, iterator::LoopState<_, ()>)
rustc_typeck::check::coercion: Coerce.tys(iterator::LoopState<_, ()> => iterator::LoopState<(), _>)
rustc_typeck::check::coercion: coerce_unsized(source=iterator::LoopState<_, ()>, target=iterator::LoopState<(), _>)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(92: { LoopState::Break(()) }), adj=[])
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(14) }, iterator::LoopState<(), ()>) in fcx
rustc_typeck::check: type of expr (id=93) is...
rustc_typeck::check: ... iterator::LoopState<_, _>, expected is ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: () }),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: () }),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=iterator::LoopState<_, ()>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: () }),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=iterator::LoopState<(), _>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(1 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<(), ()>
rustc_typeck::check::coercion: coercion::try(expr(93: ): iterator::LoopState<(), ()> -> _)
rustc_typeck::check::coercion: Coerce.tys(iterator::LoopState<(), ()> => _)
rustc_typeck::check::coercion: coerce_unsized(source=iterator::LoopState<(), ()>, target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(93: ), adj=[])
rustc_typeck::check::_match: check_pat_walk(pat=pat(82: val),expected=_,def_bm=BindByValue(MutImmutable),is_arg=true)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) }, iterator::LoopState<(), ()>) in fcx
rustc_typeck::check: >> typechecking: expr=expr(101: PartialEq::eq(&val, &LoopState::Continue(()))) expected=ExpectHasType(bool)
rustc_typeck::check: >> typechecking: expr=expr(94: PartialEq::eq) expected=NoExpectation
rustc_typeck::check: instantiate_value_path(path=[PathSegment { name: PartialEq, parameters: None, infer_types: true }, PathSegment { name: eq, parameters: None, infer_types: true }], def=Method(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0])), node_id=94)
rustc_typeck::check: type_segment=Some((PathSegment { name: PartialEq, parameters: None, infer_types: true }, Generics { parent: None, parent_regions: 0, parent_types: 0, regions: [], types: [TypeParameterDef(Self, DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0]), 0), TypeParameterDef(Rhs, DefId(0/1:9 ~ core[3d48]::iterator[0]::PartialEq[0]::Rhs[0]), 1)], type_param_to_index: {DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0]): 0, DefId(0/1:9 ~ core[3d48]::iterator[0]::PartialEq[0]::Rhs[0]): 1}, has_self: true, has_late_bound_regions: None })) fn_segment=Some((PathSegment { name: eq, parameters: None, infer_types: true }, Generics { parent: Some(DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0])), parent_regions: 0, parent_types: 2, regions: [], types: [], type_param_to_index: {}, has_self: true, has_late_bound_regions: Some(src/iterator.rs:17:11: 17:11) }))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)), Binder(TraitPredicate(<_ as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_bounds(bounds=GenericPredicates([]), substs=Slice([_, _])) = InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)), Binder(TraitPredicate(<_ as iterator::Sized>))])
rustc_typeck::check: add_obligations_for_parameters(predicates=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq})
rustc::traits::project: normalize_with_depth: depth=0 result=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq} with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_type_scheme(value=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}, substs=Slice([_, _])) = for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check: instantiate_value_path: type of NodeId(94) is for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check: write_substs(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) }, Slice([_, _])) in fcx
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) }, for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}) in fcx
rustc_typeck::check: type of expr PartialEq::eq (id=94) is...
rustc_typeck::check: ... for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq})
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<iterator::LoopState<(), ()> as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::PartialEq<FreshTy(1)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: candidate set contains ambig
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::PartialEq<FreshTy(1)>>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::PartialEq<_>>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)),depth=0) now stalled on [_, _]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(4 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check::autoderef: autoderef stage #0 is for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check: resolve_type_vars_with_obligations(ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq})
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(4 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check::callee: try_overloaded_call_step(call_expr=expr(101: PartialEq::eq(&val, &LoopState::Continue(()))), adjusted_ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq})
rustc_typeck::check: apply_adjustments(expr=expr(94: PartialEq::eq), adj=[])
rustc::traits::project: normalize_with_depth(depth=0, value=([&_, &_]; variadic: false)->bool)
rustc::traits::project: normalize_with_depth: depth=0 result=([&_, &_]; variadic: false)->bool with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: resolve_type_vars_with_obligations(ty=bool)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=bool
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: expected_inputs_for_expected_output(formal=[&_, &_] -> bool, expected=[&_, &_] -> ExpectHasType(bool))
rustc_typeck::check: register_predicate(Obligation(predicate=&_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&_,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=&_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&_,depth=0))
rustc_typeck::check: check_argument_types: formal_tys=["&_", "&_"]
rustc_typeck::check: check_closures=false
rustc_typeck::check: checking the argument
rustc_typeck::check: >> typechecking: expr=expr(96: &val) expected=ExpectHasType(&_)
rustc_typeck::check: >> typechecking: expr=expr(95: val) expected=ExpectHasType(_)
rustc_typeck::check: instantiate_value_path(path=[PathSegment { name: val, parameters: None, infer_types: true }], def=Local(NodeId(82)), node_id=95)
rustc_typeck::check: type_segment=None fn_segment=None
rustc::traits::project: normalize_with_depth(depth=0, value=_)
rustc::traits::project: normalize_with_depth: depth=0 result=iterator::LoopState<(), ()> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(17) }, iterator::LoopState<(), ()>) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(17) }, iterator::LoopState<(), ()>) in fcx
rustc_typeck::check: type of expr val (id=95) is...
rustc_typeck::check: ... iterator::LoopState<(), ()>, expected is ExpectHasType(_)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) }, &iterator::LoopState<(), ()>) in fcx
rustc_typeck::check: type of expr &val (id=96) is...
rustc_typeck::check: ... &iterator::LoopState<(), ()>, expected is ExpectHasType(&_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=&_)
rustc::traits::fulfill: select(obligation-forest-size=6)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(_, '_#0r)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(_, '_#0r)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(_, '_#1r)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(_, '_#1r)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(_, '_#1r)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(_, '_#0r)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::PartialEq<_>>)),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(6 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=&_
rustc_typeck::check: resolve_type_vars_with_obligations(ty=&iterator::LoopState<(), ()>)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=&iterator::LoopState<(), ()>
rustc_typeck::check::coercion: coercion::try(expr(96: &val): &iterator::LoopState<(), ()> -> &_)
rustc_typeck::check::coercion: Coerce.tys(&iterator::LoopState<(), ()> => &_)
rustc_typeck::check::coercion: coerce_unsized(source=&iterator::LoopState<(), ()>, target=&_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check::coercion: coerce_borrowed_pointer(a=&iterator::LoopState<(), ()>, b=&_)
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<(), ()>
rustc_typeck::check::autoderef: autoderef stage #0 is &iterator::LoopState<(), ()>
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<(), ()>
rustc_typeck::check::autoderef: autoderef stage #1 is iterator::LoopState<(), ()> from (&iterator::LoopState<(), ()>, Builtin)
rustc_typeck::check::coercion: coerce_borrowed_pointer: succeeded ty=&iterator::LoopState<(), ()> adjustments=[Deref(None) -> iterator::LoopState<(), ()>, Borrow(Ref('_#0r, Immutable)) -> &iterator::LoopState<(), ()>]
rustc_typeck::check: apply_adjustments(expr=expr(96: &val), adj=[Deref(None) -> iterator::LoopState<(), ()>, Borrow(Ref('_#0r, Immutable)) -> &iterator::LoopState<(), ()>])
rustc_typeck::check: checking the argument
rustc_typeck::check: >> typechecking: expr=expr(100: &LoopState::Continue(())) expected=ExpectHasType(&_)
rustc_typeck::check: >> typechecking: expr=expr(99: LoopState::Continue(())) expected=ExpectHasType(_)
rustc_typeck::check: >> typechecking: expr=expr(97: LoopState::Continue) expected=NoExpectation
rustc_typeck::check: instantiate_value_path(path=[PathSegment { name: LoopState, parameters: None, infer_types: true }, PathSegment { name: Continue, parameters: None, infer_types: true }], def=VariantCtor(DefId(0/1:10 ~ core[3d48]::iterator[0]::LoopState[0]::Continue[0]), Fn), node_id=97)
rustc_typeck::check: type_segment=Some((PathSegment { name: Continue, parameters: None, infer_types: true }, Generics { parent: None, parent_regions: 0, parent_types: 0, regions: [], types: [TypeParameterDef(C, DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]), 0), TypeParameterDef(B, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]), 1)], type_param_to_index: {DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]): 0, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]): 1}, has_self: false, has_late_bound_regions: None })) fn_segment=None
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_bounds(bounds=GenericPredicates([]), substs=Slice([_, _])) = InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))])
rustc_typeck::check: add_obligations_for_parameters(predicates=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::project: normalize_with_depth: depth=0 result=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue} with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_type_scheme(value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}, substs=Slice([_, _])) = fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: instantiate_value_path: type of NodeId(97) is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: write_substs(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) }, Slice([_, _])) in fcx
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) }, fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}) in fcx
rustc_typeck::check: type of expr LoopState::Continue (id=97) is...
rustc_typeck::check: ... fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<FreshTy(0)>>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=1, value=<iterator::LoopState<_, _> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=1 result=<iterator::LoopState<_, _> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: match_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0), impl_trait_ref=<iterator::LoopState<_, _> as iterator::PartialEq>, skol_obligation_trait_ref=<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)
rustc::traits::select: match_impl: success impl_substs=Slice([_, _])
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=iterator::LoopState<(), ()>)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0)): [ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<FreshTy(0)>>)))=Ok(Some(ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0), ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0])))
rustc::traits::select: confirm_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0),DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=<iterator::LoopState<_, _> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=1 result=<iterator::LoopState<_, _> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: match_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0), impl_trait_ref=<iterator::LoopState<_, _> as iterator::PartialEq>, skol_obligation_trait_ref=<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)
rustc::traits::select: match_impl: success impl_substs=Slice([_, _])
rustc::traits::select: confirm_impl_candidate substs=Normalized(Slice([_, _]),[])
rustc::traits::select: vtable_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), substs=Normalized(Slice([_, _]),[]), recursion_depth=1, skol_map={})
rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_ as iterator::Sized>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<() as iterator::Sized>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_ as iterator::Sized>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<() as iterator::Sized>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: vtable_impl: impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]) impl_obligations=[Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=1)]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>))` at depth 0 yielded Ok(Some)
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<iterator::LoopState<(), ()> as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=iterator::LoopState<(), ()>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=iterator::LoopState<(), ()>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq<_>>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&_,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&_,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(4 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::autoderef: autoderef stage #0 is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(4 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::callee: try_overloaded_call_step(call_expr=expr(99: LoopState::Continue(())), adjusted_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc_typeck::check: apply_adjustments(expr=expr(97: LoopState::Continue), adj=[])
rustc::traits::project: normalize_with_depth(depth=0, value=([_]; variadic: false)->iterator::LoopState<_, _>)
rustc::traits::project: normalize_with_depth: depth=0 result=([_]; variadic: false)->iterator::LoopState<_, _> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(4 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<_, _>
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: expected_inputs_for_expected_output(formal=[_] -> iterator::LoopState<_, _>, expected=[()] -> ExpectHasType(_))
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: check_argument_types: formal_tys=["_"]
rustc_typeck::check: check_closures=false
rustc_typeck::check: checking the argument
rustc_typeck::check: >> typechecking: expr=expr(98: ()) expected=ExpectHasType(())
rustc_typeck::check: resolve_type_vars_with_obligations(ty=())
rustc_typeck::check: resolve_type_vars_with_obligations: ty=()
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(20) }, ()) in fcx
rustc_typeck::check: type of expr () (id=98) is...
rustc_typeck::check: ... (), expected is ExpectHasType(())
rustc_typeck::check: resolve_type_vars_with_obligations(ty=())
rustc_typeck::check: resolve_type_vars_with_obligations: ty=()
rustc_typeck::check: resolve_type_vars_with_obligations(ty=())
rustc_typeck::check: resolve_type_vars_with_obligations: ty=()
rustc_typeck::check::coercion: coercion::try(expr(98: ()): () -> ())
rustc_typeck::check::coercion: Coerce.tys(() => ())
rustc_typeck::check::coercion: coerce_unsized(source=(), target=())
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(98: ()), adj=[])
rustc_typeck::check: check_closures=true
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(2 predicates remaining, 0 errors) done
rustc_typeck::check: register_predicate(Obligation(predicate=iterator::LoopState<_, _>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=iterator::LoopState<(), _>,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(21) }, iterator::LoopState<(), _>) in fcx
rustc_typeck::check: type of expr LoopState::Continue(()) (id=99) is...
rustc_typeck::check: ... iterator::LoopState<_, _>, expected is ExpectHasType(_)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) }, &iterator::LoopState<(), _>) in fcx
rustc_typeck::check: type of expr &LoopState::Continue(()) (id=100) is...
rustc_typeck::check: ... &iterator::LoopState<_, _>, expected is ExpectHasType(&_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=&iterator::LoopState<(), ()>)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=&iterator::LoopState<(), ()>
rustc_typeck::check: resolve_type_vars_with_obligations(ty=&iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=3)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(3 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=&iterator::LoopState<(), _>
rustc_typeck::check::coercion: coercion::try(expr(100: &LoopState::Continue(())): &iterator::LoopState<(), _> -> &iterator::LoopState<(), ()>)
rustc_typeck::check::coercion: Coerce.tys(&iterator::LoopState<(), _> => &iterator::LoopState<(), ()>)
rustc_typeck::check::coercion: coerce_unsized(source=&iterator::LoopState<(), _>, target=&iterator::LoopState<(), ()>)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check::coercion: coerce_borrowed_pointer(a=&iterator::LoopState<(), _>, b=&iterator::LoopState<(), ()>)
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<(), _>
rustc_typeck::check::autoderef: autoderef stage #0 is &iterator::LoopState<(), _>
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<(), _>
rustc_typeck::check::autoderef: autoderef stage #1 is iterator::LoopState<(), _> from (&iterator::LoopState<(), _>, Builtin)
rustc_typeck::check::coercion: coerce_borrowed_pointer: succeeded ty=&iterator::LoopState<(), _> adjustments=[Deref(None) -> iterator::LoopState<(), _>, Borrow(Ref('_#1r, Immutable)) -> &iterator::LoopState<(), _>]
rustc_typeck::check: apply_adjustments(expr=expr(100: &LoopState::Continue(())), adj=[Deref(None) -> iterator::LoopState<(), _>, Borrow(Ref('_#1r, Immutable)) -> &iterator::LoopState<(), _>])
rustc_typeck::check: check_closures=true
rustc::traits::fulfill: select(obligation-forest-size=3)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=iterator::LoopState<(), _>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: register_predicate(Obligation(predicate=bool,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=bool,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(23) }, bool) in fcx
rustc_typeck::check: type of expr PartialEq::eq(&val, &LoopState::Continue(())) (id=101) is...
rustc_typeck::check: ... bool, expected is ExpectHasType(bool)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=bool)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=bool
rustc_typeck::check::coercion: coercion::try(expr(101: PartialEq::eq(&val, &LoopState::Continue(()))): bool -> bool)
rustc_typeck::check::coercion: Coerce.tys(bool => bool)
rustc_typeck::check::coercion: coerce_unsized(source=bool, target=bool)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(101: PartialEq::eq(&val, &LoopState::Continue(()))), adj=[])
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(24) }, bool) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(25) }, bool) in fcx
rustc_typeck::check: type of expr {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) } (id=116) is...
rustc_typeck::check: ... bool, expected is ExpectHasType(bool)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=bool)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=bool
rustc_typeck::check::coercion: coercion::try(expr(116: {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) }): bool -> bool)
rustc_typeck::check::coercion: Coerce.tys(bool => bool)
rustc_typeck::check::coercion: coerce_unsized(source=bool, target=bool)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(116: {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) }), adj=[])
rustc::traits::fulfill: select(obligation-forest-size=1)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=bool,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_fn(id=73)
rustc_typeck::check::regionck: visit_fn_body(id=73)
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck::link_fn_args(body_scope=Node(ItemLocalId(25)))
rustc_typeck::check::regionck: arg_ty=&mut Self arg_cmt=cmt_ { id: NodeId(75), span: src/iterator.rs:32:12: 32:21, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: &mut Self, note: NoteNone } arg=Arg { pat: pat(76: self), id: NodeId(75), hir_id: HirId { owner: DefIndex(0:14), local_id: ItemLocalId(26) } }
rustc_typeck::check::regionck: link_pattern(discr_cmt=cmt_ { id: NodeId(75), span: src/iterator.rs:32:12: 32:21, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: &mut Self, note: NoteNone }, root_pat=pat(76: self))
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(116: {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) }), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(116: {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) }))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: bool scope: Node(ItemLocalId(25))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=bool, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(116: {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) }), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: regionck::visit_pat(pat=pat(82: val))
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=iterator::LoopState<(), ()>, ty0=iterator::LoopState<(), ()>, id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) }, minimum_lifetime=ReScope(Remainder(BlockRemainder { block: ItemLocalId(24), first_statement_index: 0 })))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: iterator::LoopState<(), ()> scope: Remainder(BlockRemainder { block: ItemLocalId(24), first_statement_index: 0 })
rustc::traits::query::dropck_outlives: dropck_outlives(ty=iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::query::dropck_outlives: c_ty = Canonical { variables: Slice([]), value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing }, value: iterator::LoopState<(), ()> } }
rustc::traits::query::normalize: normalize::<&rustc::ty::TyS>(value=(), param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::query::normalize: normalize::<&rustc::ty::TyS>(value=(), param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::for_local()
rustc_typeck::check::regionck: link_pattern(discr_cmt=cmt_ { id: NodeId(93), span: src/iterator.rs:34:19: 34:85, cat: Rvalue(ReScope(Node(ItemLocalId(15)))), mutbl: McDeclared, ty: iterator::LoopState<(), ()>, note: NoteNone }, root_pat=pat(82: val))
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(93: ), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(93: ))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: iterator::LoopState<(), ()> scope: Node(ItemLocalId(15))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::query::dropck_outlives: c_ty = Canonical { variables: Slice([]), value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing }, value: iterator::LoopState<(), ()> } }
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(93: ), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(83: false), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(83: false))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: bool scope: Node(ItemLocalId(13))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=bool, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(83: false), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(115: { LoopState::Continue(()) }), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(115: { LoopState::Continue(()) }))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: iterator::LoopState<(), ()> scope: Node(ItemLocalId(12))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::query::dropck_outlives: c_ty = Canonical { variables: Slice([]), value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing }, value: iterator::LoopState<(), ()> } }
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(115: { LoopState::Continue(()) }), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(87: LoopState::Continue(())), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(87: LoopState::Continue(())))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: iterator::LoopState<(), ()> scope: Node(ItemLocalId(12))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::query::dropck_outlives: c_ty = Canonical { variables: Slice([]), value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing }, value: iterator::LoopState<(), ()> } }
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(87: LoopState::Continue(())), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: constrain_call(call_expr=expr(87: LoopState::Continue(())), receiver=None)
rustc_typeck::check::regionck: callee_region=ReScope(Node(ItemLocalId(10)))
rustc_typeck::check::regionck: Argument: expr(86: ())
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=(), ty0=(), id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(9) }, minimum_lifetime=ReScope(Node(ItemLocalId(10))))
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(85: LoopState::Continue), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(85: LoopState::Continue))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} scope: Node(ItemLocalId(12))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue}, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(85: LoopState::Continue), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: substs_wf_in_scope(substs=Slice([_, _]), expr_region=ReScope(Node(ItemLocalId(8))), origin=Path, expr_span=src/iterator.rs:34:30: 34:49)
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(86: ()), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(86: ()))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: () scope: Node(ItemLocalId(12))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=(), param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(86: ()), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(92: { LoopState::Break(()) }), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(92: { LoopState::Break(()) }))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: iterator::LoopState<(), ()> scope: Node(ItemLocalId(7))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::query::dropck_outlives: c_ty = Canonical { variables: Slice([]), value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing }, value: iterator::LoopState<(), ()> } }
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(92: { LoopState::Break(()) }), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(91: LoopState::Break(())), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(91: LoopState::Break(())))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: iterator::LoopState<(), ()> scope: Node(ItemLocalId(7))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::query::dropck_outlives: c_ty = Canonical { variables: Slice([]), value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing }, value: iterator::LoopState<(), ()> } }
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(91: LoopState::Break(())), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: constrain_call(call_expr=expr(91: LoopState::Break(())), receiver=None)
rustc_typeck::check::regionck: callee_region=ReScope(Node(ItemLocalId(5)))
rustc_typeck::check::regionck: Argument: expr(90: ())
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=(), ty0=(), id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(4) }, minimum_lifetime=ReScope(Node(ItemLocalId(5))))
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(89: LoopState::Break), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(89: LoopState::Break))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} scope: Node(ItemLocalId(7))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break}, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(89: LoopState::Break), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: substs_wf_in_scope(substs=Slice([_, _]), expr_region=ReScope(Node(ItemLocalId(3))), origin=Path, expr_span=src/iterator.rs:34:63: 34:79)
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(90: ()), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(90: ()))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: () scope: Node(ItemLocalId(7))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=(), param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(90: ()), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(101: PartialEq::eq(&val, &LoopState::Continue(()))), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(101: PartialEq::eq(&val, &LoopState::Continue(()))))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: bool scope: Node(ItemLocalId(25))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=bool, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(101: PartialEq::eq(&val, &LoopState::Continue(()))), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: constrain_call(call_expr=expr(101: PartialEq::eq(&val, &LoopState::Continue(()))), receiver=None)
rustc_typeck::check::regionck: callee_region=ReScope(Node(ItemLocalId(23)))
rustc_typeck::check::regionck: Argument: expr(96: &val)
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=&iterator::LoopState<(), ()>, ty0=&iterator::LoopState<(), ()>, id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) }, minimum_lifetime=ReScope(Node(ItemLocalId(23))))
rustc_typeck::check::regionck: Argument: expr(100: &LoopState::Continue(()))
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=&iterator::LoopState<(), ()>, ty0=&iterator::LoopState<(), ()>, id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) }, minimum_lifetime=ReScope(Node(ItemLocalId(23))))
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(94: PartialEq::eq), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(94: PartialEq::eq))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} scope: Node(ItemLocalId(25))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq}, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(94: PartialEq::eq), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: substs_wf_in_scope(substs=Slice([_, _]), expr_region=ReScope(Node(ItemLocalId(16))), origin=Path, expr_span=src/iterator.rs:37:9: 37:22)
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(96: &val), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(96: &val))
rustc_typeck::check::regionck: constrain_adjustments: adjustments=[Deref(None) -> iterator::LoopState<(), ()>, Borrow(Ref('_#0r, Immutable)) -> &iterator::LoopState<(), ()>]
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: &iterator::LoopState<(), ()> scope: Node(ItemLocalId(25))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=&iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: constrain_adjustments: adjustment=Deref(None) -> iterator::LoopState<(), ()>, cmt=cmt_ { id: NodeId(96), span: src/iterator.rs:37:23: 37:27, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: &iterator::LoopState<(), ()>, note: NoteNone }
rustc_typeck::check::regionck: constrain_adjustments: adjustment=Borrow(Ref('_#0r, Immutable)) -> &iterator::LoopState<(), ()>, cmt=cmt_ { id: NodeId(96), span: src/iterator.rs:37:23: 37:27, cat: Deref(cmt_ { id: NodeId(96), span: src/iterator.rs:37:23: 37:27, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: &iterator::LoopState<(), ()>, note: NoteNone }, BorrowedPtr(ImmBorrow, '_#2r)), mutbl: McImmutable, ty: iterator::LoopState<(), ()>, note: NoteNone }
rustc_typeck::check::regionck: link_autoref(autoref=Ref('_#0r, Immutable), expr_cmt=cmt_ { id: NodeId(96), span: src/iterator.rs:37:23: 37:27, cat: Deref(cmt_ { id: NodeId(96), span: src/iterator.rs:37:23: 37:27, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: &iterator::LoopState<(), ()>, note: NoteNone }, BorrowedPtr(ImmBorrow, '_#2r)), mutbl: McImmutable, ty: iterator::LoopState<(), ()>, note: NoteNone })
rustc_typeck::check::regionck: link_region(borrow_region='_#0r, borrow_kind=ImmBorrow, borrow_cmt=cmt_ { id: NodeId(96), span: src/iterator.rs:37:23: 37:27, cat: Deref(cmt_ { id: NodeId(96), span: src/iterator.rs:37:23: 37:27, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: &iterator::LoopState<(), ()>, note: NoteNone }, BorrowedPtr(ImmBorrow, '_#2r)), mutbl: McImmutable, ty: iterator::LoopState<(), ()>, note: NoteNone })
rustc_typeck::check::regionck: link_reborrowed_region: '_#0r <= '_#2r
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=&iterator::LoopState<(), ()>, ty0=&iterator::LoopState<(), ()>, id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) }, minimum_lifetime=ReScope(Node(ItemLocalId(18))))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: &iterator::LoopState<(), ()> scope: Node(ItemLocalId(25))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=&iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(96: &val), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: link_addr_of(expr=expr(96: &val), base=expr(95: val))
rustc_typeck::check::regionck: link_addr_of: cmt=cmt_ { id: NodeId(95), span: src/iterator.rs:37:24: 37:27, cat: Local(NodeId(82)), mutbl: McImmutable, ty: iterator::LoopState<(), ()>, note: NoteNone }
rustc_typeck::check::regionck: link_region_from_node_type(id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) }, mutbl=MutImmutable, cmt_borrowed=cmt_ { id: NodeId(95), span: src/iterator.rs:37:24: 37:27, cat: Local(NodeId(82)), mutbl: McImmutable, ty: iterator::LoopState<(), ()>, note: NoteNone })
rustc_typeck::check::regionck: rptr_ty=&iterator::LoopState<(), ()>
rustc_typeck::check::regionck: link_region(borrow_region='_#2r, borrow_kind=ImmBorrow, borrow_cmt=cmt_ { id: NodeId(95), span: src/iterator.rs:37:24: 37:27, cat: Local(NodeId(82)), mutbl: McImmutable, ty: iterator::LoopState<(), ()>, note: NoteNone })
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(95: val), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(95: val))
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(95: val), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: substs_wf_in_scope(substs=Slice([]), expr_region=ReScope(Node(ItemLocalId(17))), origin=Path, expr_span=src/iterator.rs:37:24: 37:27)
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(100: &LoopState::Continue(())), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(100: &LoopState::Continue(())))
rustc_typeck::check::regionck: constrain_adjustments: adjustments=[Deref(None) -> iterator::LoopState<(), _>, Borrow(Ref('_#1r, Immutable)) -> &iterator::LoopState<(), _>]
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: &iterator::LoopState<(), ()> scope: Node(ItemLocalId(25))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=&iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: constrain_adjustments: adjustment=Deref(None) -> iterator::LoopState<(), _>, cmt=cmt_ { id: NodeId(100), span: src/iterator.rs:37:29: 37:53, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: &iterator::LoopState<(), ()>, note: NoteNone }
rustc_typeck::check::regionck: constrain_adjustments: adjustment=Borrow(Ref('_#1r, Immutable)) -> &iterator::LoopState<(), _>, cmt=cmt_ { id: NodeId(100), span: src/iterator.rs:37:29: 37:53, cat: Deref(cmt_ { id: NodeId(100), span: src/iterator.rs:37:29: 37:53, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: &iterator::LoopState<(), ()>, note: NoteNone }, BorrowedPtr(ImmBorrow, '_#3r)), mutbl: McImmutable, ty: iterator::LoopState<(), ()>, note: NoteNone }
rustc_typeck::check::regionck: link_autoref(autoref=Ref('_#1r, Immutable), expr_cmt=cmt_ { id: NodeId(100), span: src/iterator.rs:37:29: 37:53, cat: Deref(cmt_ { id: NodeId(100), span: src/iterator.rs:37:29: 37:53, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: &iterator::LoopState<(), ()>, note: NoteNone }, BorrowedPtr(ImmBorrow, '_#3r)), mutbl: McImmutable, ty: iterator::LoopState<(), ()>, note: NoteNone })
rustc_typeck::check::regionck: link_region(borrow_region='_#1r, borrow_kind=ImmBorrow, borrow_cmt=cmt_ { id: NodeId(100), span: src/iterator.rs:37:29: 37:53, cat: Deref(cmt_ { id: NodeId(100), span: src/iterator.rs:37:29: 37:53, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: &iterator::LoopState<(), ()>, note: NoteNone }, BorrowedPtr(ImmBorrow, '_#3r)), mutbl: McImmutable, ty: iterator::LoopState<(), ()>, note: NoteNone })
rustc_typeck::check::regionck: link_reborrowed_region: '_#1r <= '_#3r
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=&iterator::LoopState<(), ()>, ty0=&iterator::LoopState<(), ()>, id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) }, minimum_lifetime=ReScope(Node(ItemLocalId(22))))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: &iterator::LoopState<(), ()> scope: Node(ItemLocalId(25))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=&iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(100: &LoopState::Continue(())), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: link_addr_of(expr=expr(100: &LoopState::Continue(())), base=expr(99: LoopState::Continue(())))
rustc_typeck::check::regionck: link_addr_of: cmt=cmt_ { id: NodeId(99), span: src/iterator.rs:37:30: 37:53, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: iterator::LoopState<(), ()>, note: NoteNone }
rustc_typeck::check::regionck: link_region_from_node_type(id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) }, mutbl=MutImmutable, cmt_borrowed=cmt_ { id: NodeId(99), span: src/iterator.rs:37:30: 37:53, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: iterator::LoopState<(), ()>, note: NoteNone })
rustc_typeck::check::regionck: rptr_ty=&iterator::LoopState<(), ()>
rustc_typeck::check::regionck: link_region(borrow_region='_#3r, borrow_kind=ImmBorrow, borrow_cmt=cmt_ { id: NodeId(99), span: src/iterator.rs:37:30: 37:53, cat: Rvalue(ReScope(Node(ItemLocalId(25)))), mutbl: McDeclared, ty: iterator::LoopState<(), ()>, note: NoteNone })
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(99: LoopState::Continue(())), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(99: LoopState::Continue(())))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: iterator::LoopState<(), ()> scope: Node(ItemLocalId(25))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=iterator::LoopState<(), ()>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::query::dropck_outlives: c_ty = Canonical { variables: Slice([]), value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing }, value: iterator::LoopState<(), ()> } }
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(99: LoopState::Continue(())), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: constrain_call(call_expr=expr(99: LoopState::Continue(())), receiver=None)
rustc_typeck::check::regionck: callee_region=ReScope(Node(ItemLocalId(21)))
rustc_typeck::check::regionck: Argument: expr(98: ())
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=(), ty0=(), id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(20) }, minimum_lifetime=ReScope(Node(ItemLocalId(21))))
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(97: LoopState::Continue), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(97: LoopState::Continue))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} scope: Node(ItemLocalId(25))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue}, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(97: LoopState::Continue), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: substs_wf_in_scope(substs=Slice([_, _]), expr_region=ReScope(Node(ItemLocalId(19))), origin=Path, expr_span=src/iterator.rs:37:30: 37:49)
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(98: ()), repeating_scope=116)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(98: ()))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: () scope: Node(ItemLocalId(25))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=(), param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(98: ()), repeating_scope=116) - visiting subexprs
rustc_typeck::check::regionck: visit_region_obligations: node_id=116
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_fn_body body.id BodyId { node_id: NodeId(116) } call_site_scope: CallSite(ItemLocalId(25))
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=bool, ty0=bool, id=HirId { owner: DefIndex(0:14), local_id: ItemLocalId(25) }, minimum_lifetime=ReScope(CallSite(ItemLocalId(25))))
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(26) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(26) }, &mut Self)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(26) } has type &mut Self
rustc_typeck::check::writeback: No pat_adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(27) }
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(27) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(27) }, &mut Self)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(27) } has type &mut Self
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(25) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(25) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(25) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(24) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(24) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(24) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(14) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(14) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(14) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(13) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(13) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(13) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(12) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(12) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(12) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(11) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(11) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(11) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(10) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(10) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(10) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) }, fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue})
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) } has type fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue}
rustc_typeck::check::writeback: write_substs_to_tcx(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) }, Slice([(), ()]))
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(9) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(9) }, ())
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(9) } has type ()
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(7) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(7) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(7) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(6) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(6) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(6) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(5) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(5) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(5) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) }, fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break})
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) } has type fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break}
rustc_typeck::check::writeback: write_substs_to_tcx(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) }, Slice([(), ()]))
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(4) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(4) }, ())
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(4) } has type ()
rustc_typeck::check::writeback: No pat_adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) }
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(1) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(23) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(23) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(23) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) }, for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq})
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) } has type for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq}
rustc_typeck::check::writeback: write_substs_to_tcx(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) }, Slice([iterator::LoopState<(), ()>, iterator::LoopState<(), ()>]))
rustc_typeck::check::writeback: Adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) }: [Deref(None) -> iterator::LoopState<(), ()>, Borrow(Ref(ReScope(Node(ItemLocalId(23))), Immutable)) -> &iterator::LoopState<(), ()>]
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) }, &iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) } has type &iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(17) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(17) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(17) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: Adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) }: [Deref(None) -> iterator::LoopState<(), ()>, Borrow(Ref(ReScope(Node(ItemLocalId(23))), Immutable)) -> &iterator::LoopState<(), ()>]
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) }, &iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) } has type &iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(21) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(21) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(21) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) }, fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue})
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) } has type fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue}
rustc_typeck::check::writeback: write_substs_to_tcx(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) }, Slice([(), ()]))
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(20) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(20) }, ())
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(20) } has type ()
rustc_typeck::check::writeback: used_trait_imports(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0])) = {}
rustc_typeck::check::writeback: writeback: tables for DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]) are TypeckTables {
local_id_root: Some(
DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0])
),
type_dependent_defs: {},
user_provided_tys: {},
node_types: {
ItemLocalId(
26
): &mut Self,
ItemLocalId(
23
): bool,
ItemLocalId(
20
): (),
ItemLocalId(
17
): iterator::LoopState<(), ()>,
ItemLocalId(
14
): iterator::LoopState<(), ()>,
ItemLocalId(
11
): iterator::LoopState<(), ()>,
ItemLocalId(
8
): fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue},
ItemLocalId(
5
): iterator::LoopState<(), ()>,
ItemLocalId(
2
): iterator::LoopState<(), ()>,
ItemLocalId(
25
): bool,
ItemLocalId(
22
): &iterator::LoopState<(), ()>,
ItemLocalId(
19
): fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue},
ItemLocalId(
16
): for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq},
ItemLocalId(
13
): bool,
ItemLocalId(
10
): iterator::LoopState<(), ()>,
ItemLocalId(
7
): iterator::LoopState<(), ()>,
ItemLocalId(
4
): (),
ItemLocalId(
1
): iterator::LoopState<(), ()>,
ItemLocalId(
27
): &mut Self,
ItemLocalId(
24
): bool,
ItemLocalId(
21
): iterator::LoopState<(), ()>,
ItemLocalId(
18
): &iterator::LoopState<(), ()>,
ItemLocalId(
12
): iterator::LoopState<(), ()>,
ItemLocalId(
9
): (),
ItemLocalId(
6
): iterator::LoopState<(), ()>,
ItemLocalId(
3
): fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break}
},
node_substs: {
ItemLocalId(
8
): Slice(
[
(),
()
]
),
ItemLocalId(
19
): Slice(
[
(),
()
]
),
ItemLocalId(
16
): Slice(
[
iterator::LoopState<(), ()>,
iterator::LoopState<(), ()>
]
),
ItemLocalId(
3
): Slice(
[
(),
()
]
)
},
adjustments: {
ItemLocalId(
22
): [
Deref(None) -> iterator::LoopState<(), ()>,
Borrow(Ref(ReScope(Node(ItemLocalId(23))), Immutable)) -> &iterator::LoopState<(), ()>
],
ItemLocalId(
18
): [
Deref(None) -> iterator::LoopState<(), ()>,
Borrow(Ref(ReScope(Node(ItemLocalId(23))), Immutable)) -> &iterator::LoopState<(), ()>
]
},
pat_binding_modes: {
ItemLocalId(
2
): BindByValue(
MutImmutable
),
ItemLocalId(
27
): BindByValue(
MutImmutable
)
},
pat_adjustments: {},
upvar_capture_map: {},
closure_kind_origins: {},
liberated_fn_sigs: {
ItemLocalId(
0
): ([&mut Self]; variadic: false)->bool
},
fru_field_types: {},
cast_kinds: {},
used_trait_imports: {},
tainted_by_errors: false,
free_region_map: FreeRegionMap {
relation: TransitiveRelation {
elements: [],
map: {},
edges: [],
closure: Lock(
RefCell {
value: None
}
)
}
}
}
rustc_typeck::check_unused: GatherVisitor: item_def_id=DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]) with imports {}
rustc_typeck::check_unused: GatherVisitor: item_def_id=DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]) with imports {}
rustc::traits: type_known_to_meet_bound(ty=&iterator::LoopState<C, B>, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is &iterator::LoopState<C, B>
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=&iterator::LoopState<C, B>)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<&iterator::LoopState<C, B> as iterator::Copy>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=&iterator::LoopState<C, B> bound=iterator::Copy => false
rustc::traits: type_known_to_meet_bound(ty=&iterator::LoopState<C, B>, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is &iterator::LoopState<C, B>
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=&iterator::LoopState<C, B>)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)),depth=0)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Copy>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<&iterator::LoopState<C, B> as iterator::Copy>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=&iterator::LoopState<C, B> bound=iterator::Copy => false
rustc::traits: type_known_to_meet_bound(ty=bool, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<bool as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is bool
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=bool)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<bool as iterator::Copy>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<bool as iterator::Copy>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=bool bound=iterator::Copy => false
rustc::traits: type_known_to_meet_bound(ty=&mut Self, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Copy>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&mut Self as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is &mut Self
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Copy>)),depth=0))
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&mut Self as iterator::Copy>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<&mut Self as iterator::Copy>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=&mut Self bound=iterator::Copy => false
rustc::traits: type_known_to_meet_bound(ty=bool, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Copy>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<bool as iterator::Copy>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=bool bound=iterator::Copy => false
rustc::traits: type_known_to_meet_bound(ty=iterator::LoopState<(), ()>, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is iterator::LoopState<(), ()>
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=iterator::LoopState<(), ()>)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)),depth=0)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Copy>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<iterator::LoopState<(), ()> as iterator::Copy>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=iterator::LoopState<(), ()> bound=iterator::Copy => false
rustc::traits: type_known_to_meet_bound(ty=fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue}, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue}
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0))
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} as iterator::Copy>))=EvaluatedToOk
rustc::traits: type_known_to_meet_ty=fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue} bound=iterator::Copy => true
rustc::traits: type_known_to_meet_bound(ty=(), bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<() as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is ()
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0))
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<() as iterator::Copy>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Copy>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<() as iterator::Copy>))=EvaluatedToOk
rustc::traits: type_known_to_meet_ty=() bound=iterator::Copy => true
rustc::traits: type_known_to_meet_bound(ty=fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break}, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break}
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0))
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} as iterator::Copy>))=EvaluatedToOk
rustc::traits: type_known_to_meet_ty=fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break} bound=iterator::Copy => true
rustc::traits: type_known_to_meet_bound(ty=for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq}, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq}
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0))
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} as iterator::Copy>))=EvaluatedToOk
rustc::traits: type_known_to_meet_ty=for<'r, 's> fn(&'r iterator::LoopState<(), ()>, &'s iterator::LoopState<(), ()>) -> bool {<iterator::LoopState<(), ()> as iterator::PartialEq>::eq} bound=iterator::Copy => true
rustc::traits: type_known_to_meet_bound(ty=&iterator::LoopState<(), ()>, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is &iterator::LoopState<(), ()>
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=&iterator::LoopState<(), ()>)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Copy>)),depth=0)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Copy>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<&iterator::LoopState<(), ()> as iterator::Copy>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=&iterator::LoopState<(), ()> bound=iterator::Copy => false
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: type_known_to_meet_bound(ty=&iterator::LoopState<C, B>, bound="iterator::Freeze")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=&iterator::LoopState<C, B>)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=&iterator::LoopState<C, B>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0)): [AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)))=Ok(Some(AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))))
rustc::traits::select: evaluate_candidate: depth=0 candidate=AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0), AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0])))
rustc::traits::select: confirm_auto_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0), DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::select: vtable_auto_impl: nested=Binder([iterator::LoopState<C, B>])
rustc::traits::project: normalize_with_depth(depth=1, value=iterator::LoopState<C, B>)
rustc::traits::project: normalize_with_depth: depth=1 result=iterator::LoopState<C, B> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: vtable_auto_impl: obligations=[Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1), Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=1)]
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=iterator::LoopState<C, B>)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=iterator::LoopState<C, B>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1)): [AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)))=Ok(Some(AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))))
rustc::traits::select: evaluate_candidate: depth=1 candidate=AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1), AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0])))
rustc::traits::select: confirm_auto_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1), DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::select: vtable_auto_impl: nested=Binder([C, B])
rustc::traits::project: normalize_with_depth(depth=2, value=C)
rustc::traits::project: normalize_with_depth: depth=2 result=C with 0 obligations
rustc::traits::project: normalize_with_depth: depth=2 obligations=[]
rustc::traits::project: normalize_with_depth(depth=2, value=B)
rustc::traits::project: normalize_with_depth: depth=2 result=B with 0 obligations
rustc::traits::project: normalize_with_depth: depth=2 obligations=[]
rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::project: normalize_with_depth(depth=2, value=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)))
rustc::traits::project: normalize_with_depth: depth=2 result=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=2 obligations=[]
rustc::traits::select: vtable_auto_impl: obligations=[Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2), Obligation(predicate=Binder(TraitPredicate(<B as iterator::Freeze>)),depth=2), Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=2)]
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=C)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=C)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Freeze>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<C as iterator::Freeze>))=EvaluatedToErr
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2)) = EvaluatedToErr
rustc::traits::select: evaluate_candidate: depth=1 result=EvaluatedToErr
rustc::traits::select: CACHE MISS: EVAL(Binder(<iterator::LoopState<C, B> as iterator::Freeze>))=EvaluatedToErr
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1)) = EvaluatedToErr
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToErr
rustc::traits::select: CACHE MISS: EVAL(Binder(<&iterator::LoopState<C, B> as iterator::Freeze>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=&iterator::LoopState<C, B> bound=iterator::Freeze => false
rustc::traits: type_known_to_meet_bound(ty=&iterator::LoopState<C, B>, bound="iterator::Freeze")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=&iterator::LoopState<C, B>)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=&iterator::LoopState<C, B>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0)): [AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)))=Ok(Some(AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))))
rustc::traits::select: evaluate_candidate: depth=0 candidate=AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0), AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0])))
rustc::traits::select: confirm_auto_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=0), DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::select: vtable_auto_impl: nested=Binder([iterator::LoopState<C, B>])
rustc::traits::project: normalize_with_depth(depth=1, value=iterator::LoopState<C, B>)
rustc::traits::project: normalize_with_depth: depth=1 result=iterator::LoopState<C, B> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: vtable_auto_impl: obligations=[Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1), Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Freeze>)),depth=1)]
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=iterator::LoopState<C, B>)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=iterator::LoopState<C, B>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1)): [AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)))=Ok(Some(AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))))
rustc::traits::select: evaluate_candidate: depth=1 candidate=AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1), AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0])))
rustc::traits::select: confirm_auto_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1), DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::select: vtable_auto_impl: nested=Binder([C, B])
rustc::traits::project: normalize_with_depth(depth=2, value=C)
rustc::traits::project: normalize_with_depth: depth=2 result=C with 0 obligations
rustc::traits::project: normalize_with_depth: depth=2 obligations=[]
rustc::traits::project: normalize_with_depth(depth=2, value=B)
rustc::traits::project: normalize_with_depth: depth=2 result=B with 0 obligations
rustc::traits::project: normalize_with_depth: depth=2 obligations=[]
rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::project: normalize_with_depth(depth=2, value=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)))
rustc::traits::project: normalize_with_depth: depth=2 result=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=2 obligations=[]
rustc::traits::select: vtable_auto_impl: obligations=[Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2), Obligation(predicate=Binder(TraitPredicate(<B as iterator::Freeze>)),depth=2), Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=2)]
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=C)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=C)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Freeze>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<C as iterator::Freeze>))=EvaluatedToErr
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=2)) = EvaluatedToErr
rustc::traits::select: evaluate_candidate: depth=1 result=EvaluatedToErr
rustc::traits::select: CACHE MISS: EVAL(Binder(<iterator::LoopState<C, B> as iterator::Freeze>))=EvaluatedToErr
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Freeze>)),depth=1)) = EvaluatedToErr
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToErr
rustc::traits::select: CACHE MISS: EVAL(Binder(<&iterator::LoopState<C, B> as iterator::Freeze>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=&iterator::LoopState<C, B> bound=iterator::Freeze => false
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<std::vec::Vec<rustc::ty::Predicate>>(value=[Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)), Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>))], param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::fulfill: select(obligation-forest-size=2)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=1, value=<iterator::LoopState<_, _> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=1 result=<iterator::LoopState<_, _> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: match_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0), impl_trait_ref=<iterator::LoopState<_, _> as iterator::PartialEq>, skol_obligation_trait_ref=<iterator::LoopState<(), ()> as iterator::PartialEq>)
rustc::traits::select: match_impl: success impl_substs=Slice([_, _])
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=iterator::LoopState<(), ()>)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0)): [ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)))=Ok(Some(ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))))
rustc::traits::select: evaluate_candidate: depth=0 candidate=ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0), ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0])))
rustc::traits::select: confirm_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0),DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=<iterator::LoopState<_, _> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=1 result=<iterator::LoopState<_, _> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: match_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0), impl_trait_ref=<iterator::LoopState<_, _> as iterator::PartialEq>, skol_obligation_trait_ref=<iterator::LoopState<(), ()> as iterator::PartialEq>)
rustc::traits::select: match_impl: success impl_substs=Slice([_, _])
rustc::traits::select: confirm_impl_candidate substs=Normalized(Slice([_, _]),[])
rustc::traits::select: vtable_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), substs=Normalized(Slice([_, _]),[]), recursion_depth=1, skol_map={})
rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_ as iterator::Sized>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<() as iterator::Sized>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_ as iterator::Sized>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<() as iterator::Sized>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: vtable_impl: impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]) impl_obligations=[Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=1)]
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=1))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=1))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=1)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=1)) = EvaluatedToOk
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<iterator::LoopState<(), ()> as iterator::PartialEq>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>))` at depth 0 evaluated to holds
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<iterator::LoopState<(), ()> as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: type_known_to_meet_bound(ty=iterator::LoopState<(), ()>, bound="iterator::Sized")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<iterator::LoopState<(), ()> as iterator::Sized>))=EvaluatedToOk
rustc::traits: type_known_to_meet_ty=iterator::LoopState<(), ()> bound=iterator::Sized => true
rustc::traits: type_known_to_meet_bound(ty=(), bound="iterator::Sized")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits: type_known_to_meet_ty=() bound=iterator::Sized => true
rustc::traits: type_known_to_meet_bound(ty=&iterator::LoopState<(), ()>, bound="iterator::Sized")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<(), ()> as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<&iterator::LoopState<(), ()> as iterator::Sized>))=EvaluatedToOk
rustc::traits: type_known_to_meet_ty=&iterator::LoopState<(), ()> bound=iterator::Sized => true
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<std::vec::Vec<rustc::ty::Predicate>>(value=[], param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<std::vec::Vec<rustc::ty::Predicate>>(value=[Binder(TraitPredicate(<() as iterator::Sized>)), Binder(TraitPredicate(<() as iterator::Sized>))], param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::fulfill: select(obligation-forest-size=1)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<&rustc::ty::TyS>(value=(), param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<std::vec::Vec<rustc::ty::Predicate>>(value=[], param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<std::vec::Vec<rustc::ty::Predicate>>(value=[Binder(TraitPredicate(<() as iterator::Sized>)), Binder(TraitPredicate(<() as iterator::Sized>))], param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::fulfill: select(obligation-forest-size=1)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<&rustc::ty::TyS>(value=(), param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<std::vec::Vec<rustc::ty::Predicate>>(value=[], param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<std::vec::Vec<rustc::ty::Predicate>>(value=[Binder(TraitPredicate(<() as iterator::Sized>)), Binder(TraitPredicate(<() as iterator::Sized>))], param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::fulfill: select(obligation-forest-size=1)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<&rustc::ty::TyS>(value=(), param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<rustc::ty::FnSig>(value=([&iterator::LoopState<(), ()>, &iterator::LoopState<(), ()>]; variadic: false)->bool, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: type_known_to_meet_bound(ty=&mut Self, bound="iterator::Freeze")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=&mut Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=&mut Self)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=0)): [AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&mut Self as iterator::Freeze>)))=Ok(Some(AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))))
rustc::traits::select: evaluate_candidate: depth=0 candidate=AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=0), AutoImplCandidate(DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0])))
rustc::traits::select: confirm_auto_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=0), DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::select: vtable_auto_impl: nested=Binder([Self])
rustc::traits::project: normalize_with_depth(depth=1, value=Self)
rustc::traits::project: normalize_with_depth: depth=1 result=Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:6 ~ core[3d48]::iterator[0]::Freeze[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: vtable_auto_impl: obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=1), Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Freeze>)),depth=1)]
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=1))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=1))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=1)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=1))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=1))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=1))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=Self)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=1)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Freeze>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<Self as iterator::Freeze>))=EvaluatedToErr
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Freeze>)),depth=1)) = EvaluatedToErr
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToErr
rustc::traits::select: CACHE MISS: EVAL(Binder(<&mut Self as iterator::Freeze>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=&mut Self bound=iterator::Freeze => false
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([]), reveal: UserFacing })
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[]
rustc::traits: fully_normalize_with_fulfillcx(value=[])
rustc::traits::project: normalize_with_depth(depth=0, value=[])
rustc::traits::project: normalize_with_depth: depth=0 result=[] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[]
rustc::traits: normalize_param_env_or_error: normalized predicates=[]
rustc::traits: normalize_param_env_or_error: resolved predicates=[]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=1, value=<iterator::LoopState<_, _> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=1 result=<iterator::LoopState<_, _> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: match_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0), impl_trait_ref=<iterator::LoopState<_, _> as iterator::PartialEq>, skol_obligation_trait_ref=<iterator::LoopState<(), ()> as iterator::PartialEq>)
rustc::traits::select: match_impl: success impl_substs=Slice([_, _])
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=iterator::LoopState<(), ()>)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0)): [ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)))=Ok(Some(ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0), ImplCandidate(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0])))
rustc::traits::select: confirm_impl_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0),DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=<iterator::LoopState<_, _> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=1 result=<iterator::LoopState<_, _> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: match_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::PartialEq>)),depth=0), impl_trait_ref=<iterator::LoopState<_, _> as iterator::PartialEq>, skol_obligation_trait_ref=<iterator::LoopState<(), ()> as iterator::PartialEq>)
rustc::traits::select: match_impl: success impl_substs=Slice([_, _])
rustc::traits::select: confirm_impl_candidate substs=Normalized(Slice([_, _]),[])
rustc::traits::select: vtable_impl(impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]), substs=Normalized(Slice([_, _]),[]), recursion_depth=1, skol_map={})
rustc::traits::select: impl_or_trait_obligations(def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_ as iterator::Sized>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<() as iterator::Sized>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::project: normalize_with_depth(depth=1, value=Binder(TraitPredicate(<_ as iterator::Sized>)))
rustc::traits::project: normalize_with_depth: depth=1 result=Binder(TraitPredicate(<() as iterator::Sized>)) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=1 obligations=[]
rustc::traits::select: vtable_impl: impl_def_id=DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]) impl_obligations=[Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=1)]
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([]), reveal: UserFacing })
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[]
rustc::traits: fully_normalize_with_fulfillcx(value=[])
rustc::traits::project: normalize_with_depth(depth=0, value=[])
rustc::traits::project: normalize_with_depth: depth=0 result=[] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[]
rustc::traits: normalize_param_env_or_error: normalized predicates=[]
rustc::traits: normalize_param_env_or_error: resolved predicates=[]
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([]), reveal: UserFacing })
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[]
rustc::traits: fully_normalize_with_fulfillcx(value=[])
rustc::traits::project: normalize_with_depth(depth=0, value=[])
rustc::traits::project: normalize_with_depth: depth=0 result=[] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[]
rustc::traits: normalize_param_env_or_error: normalized predicates=[]
rustc::traits: normalize_param_env_or_error: resolved predicates=[]
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<B as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<C as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits::query::normalize_erasing_regions: normalize_erasing_regions::<rustc::ty::FnSig>(value=([C]; variadic: false)->iterator::LoopState<C, B>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<std::vec::Vec<rustc::ty::Predicate>>(value=[Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))], param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::fulfill: select(obligation-forest-size=2)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<C as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<C as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), ParamCandidate(Binder(<C as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0),Binder(<C as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<C as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<B as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<B as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<B as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<B as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), ParamCandidate(Binder(<B as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0),Binder(<B as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<B as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<&rustc::ty::TyS>(value=C, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: type_known_to_meet_bound(ty=C, bound="iterator::Freeze")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=C)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=C)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Freeze>)),depth=0)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Freeze>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<C as iterator::Freeze>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=C bound=iterator::Freeze => false
rustc::traits: type_known_to_meet_bound(ty=C, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Copy>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is C
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=C)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Copy>)),depth=0)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Copy>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<C as iterator::Copy>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=C bound=iterator::Copy => false
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<B as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<C as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits::query::normalize_erasing_regions: normalize_erasing_regions::<rustc::ty::FnSig>(value=([B]; variadic: false)->iterator::LoopState<C, B>, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<std::vec::Vec<rustc::ty::Predicate>>(value=[Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))], param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::fulfill: select(obligation-forest-size=2)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<C as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<C as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), ParamCandidate(Binder(<C as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0),Binder(<C as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<C as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<B as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<B as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<B as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<B as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), ParamCandidate(Binder(<B as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0),Binder(<B as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<B as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::query::normalize: normalize::<&rustc::ty::TyS>(value=B, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: type_known_to_meet_bound(ty=B, bound="iterator::Freeze")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Freeze>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Freeze>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Freeze>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<B as iterator::Freeze>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Freeze>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=B)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Freeze>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=B)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Freeze>)),depth=0)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<B as iterator::Freeze>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<B as iterator::Freeze>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=B bound=iterator::Freeze => false
rustc::traits: type_known_to_meet_bound(ty=B, bound="iterator::Copy")
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Copy>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Copy>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<B as iterator::Copy>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Copy>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: obligation self ty is B
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Copy>)),depth=0))
rustc::traits::select: assemble_candidates_from_auto_impls(self_ty=B)
rustc::traits::select: candidate list size: 0
rustc::traits::select: assembled 0 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Copy>)),depth=0)): []
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<B as iterator::Copy>)))=Err(Unimplemented)
rustc::traits::select: CACHE MISS: EVAL(Binder(<B as iterator::Copy>))=EvaluatedToErr
rustc::traits: type_known_to_meet_ty=B bound=iterator::Copy => false
Finished dev [unoptimized + debuginfo] target(s) in 0.25 secs
Compiling core v0.1.0 (file:///Users/tyler/code/rust/rust-core-template)
Running `rustc --crate-name core src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=dc98e8200778de86 -C extra-filename=-dc98e8200778de86 --out-dir /Users/tyler/code/rust/rust-core-template/target/debug/deps -C incremental=/Users/tyler/code/rust/rust-core-template/target/debug/incremental -L dependency=/Users/tyler/code/rust/rust-core-template/target/debug/deps`
rustc::traits::specialize::specialization_graph: insert(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0])): inserting TraitRef <iterator::LoopState<C, B> as iterator::PartialEq> into specialization graph
rustc::traits::specialize::specialization_graph: placing as new sibling
rustc::traits::coherence: orphan_check(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0]))
rustc::traits::coherence: orphan_check: trait_ref=<iterator::LoopState<C, B> as iterator::PartialEq>
rustc::traits::coherence: trait DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0]) is local to current crate
rustc_typeck::check::wfcheck: visit_item: Item { name: iterator, id: NodeId(2), hir_id: HirId { owner: DefIndex(0:1), local_id: ItemLocalId(0) }, attrs: [], node: ItemMod(Mod { inner: src/iterator.rs:1:1: 39:2, item_ids: [ItemId { id: NodeId(3) }, ItemId { id: NodeId(5) }, ItemId { id: NodeId(15) }, ItemId { id: NodeId(18) }, ItemId { id: NodeId(20) }, ItemId { id: NodeId(35) }, ItemId { id: NodeId(45) }, ItemId { id: NodeId(69) }] }), vis: Public, span: src/lib.rs:20:1: 20:18 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=2, it.name=iterator)
rustc_typeck::check::wfcheck: visit_item: Item { name: Sized, id: NodeId(3), hir_id: HirId { owner: DefIndex(0:2), local_id: ItemLocalId(0) }, attrs: [Attribute { id: AttrId(10), style: Outer, path: path(lang), tokens: TokenStream { kind: Stream([TokenStream { kind: Tree(Token(src/iterator.rs:1:8: 1:9, Eq)) }, TokenStream { kind: Tree(Token(src/iterator.rs:1:10: 1:17, Literal(Str_(sized), None))) }]) }, is_sugared_doc: false, span: src/iterator.rs:1:1: 1:18 }, Attribute { id: AttrId(11), style: Outer, path: path(fundamental), tokens: TokenStream { kind: Empty }, is_sugared_doc: false, span: src/iterator.rs:2:1: 2:15 }], node: ItemTrait(No, Normal, Generics { params: [], where_clause: WhereClause { id: NodeId(4), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, [], []), vis: Public, span: src/iterator.rs:3:1: 4:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=3, it.name=iterator::Sized)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(3), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=3
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: Clone, id: NodeId(5), hir_id: HirId { owner: DefIndex(0:3), local_id: ItemLocalId(0) }, attrs: [], node: ItemTrait(No, Normal, Generics { params: [], where_clause: WhereClause { id: NodeId(6), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, [TraitTyParamBound(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: path(Sized), ref_id: NodeId(7) }, span: src/iterator.rs:6:19: 6:24 }, None)], [TraitItemRef { id: TraitItemId { node_id: NodeId(8) }, name: clone, kind: Method { has_self: true }, span: src/iterator.rs:7:5: 7:29, defaultness: Default { has_value: false } }]), vis: Public, span: src/iterator.rs:6:1: 8:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=5, it.name=iterator::Clone)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Clone>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Clone>)) predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=1)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(5), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=5
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: Copy, id: NodeId(15), hir_id: HirId { owner: DefIndex(0:5), local_id: ItemLocalId(0) }, attrs: [Attribute { id: AttrId(12), style: Outer, path: path(lang), tokens: TokenStream { kind: Stream([TokenStream { kind: Tree(Token(src/iterator.rs:10:8: 10:9, Eq)) }, TokenStream { kind: Tree(Token(src/iterator.rs:10:10: 10:16, Literal(Str_(copy), None))) }]) }, is_sugared_doc: false, span: src/iterator.rs:10:1: 10:17 }], node: ItemTrait(No, Normal, Generics { params: [], where_clause: WhereClause { id: NodeId(16), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, [TraitTyParamBound(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: path(Clone), ref_id: NodeId(17) }, span: src/iterator.rs:11:18: 11:23 }, None)], []), vis: Public, span: src/iterator.rs:11:1: 11:26 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=15, it.name=iterator::Copy)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Copy>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Copy>)) predicates=[Binder(TraitPredicate(<Self as iterator::Clone>))]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Clone>)) predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Copy>)), Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Clone>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Clone>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=2)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0), ParamCandidate(Binder(<Self as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0),Binder(<Self as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(15), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=15
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: Freeze, id: NodeId(18), hir_id: HirId { owner: DefIndex(0:6), local_id: ItemLocalId(0) }, attrs: [Attribute { id: AttrId(13), style: Outer, path: path(lang), tokens: TokenStream { kind: Stream([TokenStream { kind: Tree(Token(src/iterator.rs:13:8: 13:9, Eq)) }, TokenStream { kind: Tree(Token(src/iterator.rs:13:10: 13:18, Literal(Str_(freeze), None))) }]) }, is_sugared_doc: false, span: src/iterator.rs:13:1: 13:19 }], node: ItemTrait(Yes, Unsafe, Generics { params: [], where_clause: WhereClause { id: NodeId(19), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, [], []), vis: Inherited, span: src/iterator.rs:14:1: 14:28 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=18, it.name=iterator::Freeze)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Freeze>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Freeze>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Freeze>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Freeze>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Freeze>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Freeze>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Freeze>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Freeze>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Freeze>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Freeze>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(18), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=18
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: PartialEq, id: NodeId(20), hir_id: HirId { owner: DefIndex(0:7), local_id: ItemLocalId(0) }, attrs: [], node: ItemTrait(No, Normal, Generics { params: [Type(TyParam { name: Rhs, id: NodeId(21), bounds: [], default: Some(type(Self)), span: src/iterator.rs:16:21: 16:24, pure_wrt_drop: false, synthetic: None, attrs: [] })], where_clause: WhereClause { id: NodeId(23), predicates: [] }, span: src/iterator.rs:16:20: 16:32 }, [], [TraitItemRef { id: TraitItemId { node_id: NodeId(24) }, name: eq, kind: Method { has_self: true }, span: src/iterator.rs:17:5: 17:39, defaultness: Default { has_value: false } }]), vis: Public, span: src/iterator.rs:16:1: 18:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=20, it.name=iterator::PartialEq)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Rhs as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Rhs as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Rhs as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Rhs,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Rhs,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Rhs,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Rhs,depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=1)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Rhs,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(20), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=20
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: LoopState, id: NodeId(35), hir_id: HirId { owner: DefIndex(0:9), local_id: ItemLocalId(0) }, attrs: [], node: ItemEnum(EnumDef { variants: [Spanned { node: Variant_ { name: Continue, attrs: [], data: Tuple([StructField { span: src/iterator.rs:21:14: 21:16, name: 0, vis: Inherited, id: NodeId(39), ty: type(C), attrs: [] }], NodeId(41)), disr_expr: None }, span: src/iterator.rs:21:5: 21:16 }, Spanned { node: Variant_ { name: Break, attrs: [], data: Tuple([StructField { span: src/iterator.rs:22:11: 22:13, name: 0, vis: Inherited, id: NodeId(42), ty: type(B), attrs: [] }], NodeId(44)), disr_expr: None }, span: src/iterator.rs:22:5: 22:13 }] }, Generics { params: [Type(TyParam { name: C, id: NodeId(36), bounds: [], default: None, span: src/iterator.rs:20:16: 20:17, pure_wrt_drop: false, synthetic: None, attrs: [] }), Type(TyParam { name: B, id: NodeId(37), bounds: [], default: None, span: src/iterator.rs:20:19: 20:20, pure_wrt_drop: false, synthetic: None, attrs: [] })], where_clause: WhereClause { id: NodeId(38), predicates: [] }, span: src/iterator.rs:20:15: 20:21 }), vis: Inherited, span: src/iterator.rs:20:1: 23:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=35, it.name=iterator::LoopState)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<B as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<C as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=C)
rustc::traits::project: normalize_with_depth: depth=0 result=C with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=B)
rustc::traits::project: normalize_with_depth: depth=0 result=B with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=C,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=C,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=B,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=B,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=C,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=C,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=B,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=B,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=B,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=B,depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<C as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<C as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), ParamCandidate(Binder(<C as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0),Binder(<C as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<C as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<B as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<B as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<B as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<B as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), ParamCandidate(Binder(<B as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0),Binder(<B as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<B as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=B,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=C,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(35), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=35
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: , id: NodeId(45), hir_id: HirId { owner: DefIndex(0:10), local_id: ItemLocalId(0) }, attrs: [], node: ItemImpl(Normal, "positive", Final, Generics { params: [Type(TyParam { name: C, id: NodeId(46), bounds: [], default: None, span: src/iterator.rs:25:6: 25:7, pure_wrt_drop: false, synthetic: None, attrs: [] }), Type(TyParam { name: B, id: NodeId(47), bounds: [], default: None, span: src/iterator.rs:25:9: 25:10, pure_wrt_drop: false, synthetic: None, attrs: [] })], where_clause: WhereClause { id: NodeId(48), predicates: [] }, span: src/iterator.rs:25:5: 25:11 }, Some(TraitRef { path: path(PartialEq<LoopState<C, B>>), ref_id: NodeId(49) }), type(LoopState<C, B>), [ImplItemRef { id: ImplItemId { node_id: NodeId(56) }, name: eq, kind: Method { has_self: true }, span: src/iterator.rs:26:5: 26:49, vis: Inherited, defaultness: Final }]), vis: Inherited, span: src/iterator.rs:25:1: 27:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=45, it.name=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc_typeck::check::wfcheck: check_impl: Item { name: , id: NodeId(45), hir_id: HirId { owner: DefIndex(0:10), local_id: ItemLocalId(0) }, attrs: [], node: ItemImpl(Normal, "positive", Final, Generics { params: [Type(TyParam { name: C, id: NodeId(46), bounds: [], default: None, span: src/iterator.rs:25:6: 25:7, pure_wrt_drop: false, synthetic: None, attrs: [] }), Type(TyParam { name: B, id: NodeId(47), bounds: [], default: None, span: src/iterator.rs:25:9: 25:10, pure_wrt_drop: false, synthetic: None, attrs: [] })], where_clause: WhereClause { id: NodeId(48), predicates: [] }, span: src/iterator.rs:25:5: 25:11 }, Some(TraitRef { path: path(PartialEq<LoopState<C, B>>), ref_id: NodeId(49) }), type(LoopState<C, B>), [ImplItemRef { id: ImplItemId { node_id: NodeId(56) }, name: eq, kind: Method { has_self: true }, span: src/iterator.rs:26:5: 26:49, vis: Inherited, defaultness: Final }]), vis: Inherited, span: src/iterator.rs:25:1: 27:2 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<B as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<C as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=0 result=<iterator::LoopState<C, B> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)) predicates=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=iterator::LoopState<C, B>,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=iterator::LoopState<C, B>,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=iterator::LoopState<C, B>,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=C,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=C,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=B,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=B,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=B,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=B,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=0 result=<iterator::LoopState<C, B> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=C,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<C, B> as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=B,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<C as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<C as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), ParamCandidate(Binder(<C as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0),Binder(<C as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<C as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<B as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<B as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<B as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<B as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), ParamCandidate(Binder(<B as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0),Binder(<B as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<B as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=iterator::LoopState<C, B>,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(45), wf_tys=[iterator::LoopState<C, B>, iterator::LoopState<C, B>])
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_region_obligations: node_id=45
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: Iterator, id: NodeId(69), hir_id: HirId { owner: DefIndex(0:12), local_id: ItemLocalId(0) }, attrs: [], node: ItemTrait(No, Normal, Generics { params: [], where_clause: WhereClause { id: NodeId(70), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, [], [TraitItemRef { id: TraitItemId { node_id: NodeId(71) }, name: Item, kind: Type, span: src/iterator.rs:30:5: 30:15, defaultness: Default { has_value: false } }, TraitItemRef { id: TraitItemId { node_id: NodeId(73) }, name: all, kind: Method { has_self: true }, span: src/iterator.rs:32:5: 38:6, defaultness: Default { has_value: true } }]), vis: Public, span: src/iterator.rs:29:1: 39:2 }
rustc_typeck::check::wfcheck: check_item_well_formed(it.id=69, it.name=iterator::Iterator)
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Iterator>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: project: obligation_trait_ref=<Self as iterator::Iterator>
rustc::traits::project: assemble_candidates_from_param_env(..)
rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as iterator::Iterator>))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::project: assemble_candidates_from_trait_def(..)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::object_safety: object_safety_violations_for_trait(trait_def_id=DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0])) = []
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Iterator>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::project: opt_normalize_projection_type: projected_ty=<Self as iterator::Iterator>::Item no progress
rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }, value=Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 0 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: project: obligation_trait_ref=<Self as iterator::Iterator>
rustc::traits::project: assemble_candidates_from_param_env(..)
rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as iterator::Iterator>))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::project: assemble_candidates_from_trait_def(..)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Iterator>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::project: opt_normalize_projection_type: projected_ty=<Self as iterator::Iterator>::Item no progress
rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }, value=Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 0 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc_typeck::check: register_predicate(Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=2)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Iterator>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: match_projection_obligation_against_definition_bounds: skol_trait_predicate=TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>) skol_map={}
rustc::traits::select: match_projection_obligation_against_definition_bounds: def_id=DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0]), substs=Slice([Self])
rustc::traits::select: match_projection_obligation_against_definition_bounds: bounds=InstantiatedPredicates([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::select: match_projection_obligation_against_definition_bounds: matching_bound=Some(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: candidate list size: 2
rustc::traits::select: assembled 2 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0)): [ProjectionCandidate, ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits::select: evaluate_candidate: depth=0 candidate=ProjectionCandidate
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ProjectionCandidate)
rustc::traits::select: match_projection_obligation_against_definition_bounds: skol_trait_predicate=TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>) skol_map={}
rustc::traits::select: match_projection_obligation_against_definition_bounds: def_id=DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0]), substs=Slice([Self])
rustc::traits::select: match_projection_obligation_against_definition_bounds: bounds=InstantiatedPredicates([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::select: match_projection_obligation_against_definition_bounds: matching_bound=Some(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: evaluate_candidate: depth=0 candidate=ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0),Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: Dropping candidate #0/2: EvaluatedCandidate { candidate: ProjectionCandidate, evaluation: EvaluatedToOk }
rustc::traits::select: Retaining candidate #0/1: EvaluatedCandidate { candidate: ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)), evaluation: EvaluatedToOk }
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0),Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(69), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=69
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_item: Item { name: prelude, id: NodeId(102), hir_id: HirId { owner: DefIndex(0:15), local_id: ItemLocalId(0) }, attrs: [], node: ItemMod(Mod { inner: src/lib.rs:23:19: 23:35, item_ids: [ItemId { id: NodeId(103) }] }), vis: Public, span: src/lib.rs:23:1: 23:35 }
rustc_typeck::check::wfcheck: visit_item: Item { name: v1, id: NodeId(103), hir_id: HirId { owner: DefIndex(0:16), local_id: ItemLocalId(0) }, attrs: [], node: ItemMod(Mod { inner: src/lib.rs:23:32: 23:33, item_ids: [] }), vis: Public, span: src/lib.rs:23:19: 23:33 }
rustc_typeck::check::wfcheck: visit_trait_item: TraitItem { id: NodeId(8), name: clone, hir_id: HirId { owner: DefIndex(0:4), local_id: ItemLocalId(0) }, attrs: [], generics: Generics { params: [], where_clause: WhereClause { id: NodeId(9), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [type(&Self)], output: Return(type(Self)), variadic: false, has_implicit_self: true } }, Required([Spanned { node: self, span: src/iterator.rs:7:15: 7:19 }])), span: src/iterator.rs:7:5: 7:29 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Clone>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Clone>)) predicates=[Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Clone>)), Binder(TraitPredicate(<Self as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self]; variadic: false)->Self))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self]; variadic: false)->Self) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self]; variadic: false)->Self))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self]; variadic: false)->Self) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=&Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&Self,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Self as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Self,depth=0))
rustc_typeck::check::wfcheck: check_method_receiver(AssociatedItem { def_id: DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), name: clone, kind: Method, vis: Public, defaultness: Default { has_value: false }, container: TraitContainer(DefId(0/0:3 ~ core[3d48]::iterator[0]::Clone[0])), method_has_self_argument: true }, self_ty=Self)
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self]; variadic: false)->Self))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self]; variadic: false)->Self) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::wfcheck: check_method_receiver: sig=([&Self]; variadic: false)->Self
rustc::traits::project: normalize_with_depth(depth=0, value=Self)
rustc::traits::project: normalize_with_depth: depth=0 result=Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=&Self)
rustc::traits::project: normalize_with_depth: depth=0 result=&Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&Self
rustc_typeck::check::autoderef: autoderef stage #0 is &Self
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `&Self` to match `Self`
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&Self
rustc_typeck::check::autoderef: autoderef stage #1 is Self from (&Self, Builtin)
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `Self` to match `Self`
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=2)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), BrAnon(0)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&Self,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(8), wf_tys=[&Self, Self])
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:4 ~ core[3d48]::iterator[0]::Clone[0]::clone[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_region_obligations: node_id=8
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_trait_item: TraitItem { id: NodeId(24), name: eq, hir_id: HirId { owner: DefIndex(0:8), local_id: ItemLocalId(0) }, attrs: [], generics: Generics { params: [], where_clause: WhereClause { id: NodeId(25), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [type(&Self), type(&Rhs)], output: Return(type(bool)), variadic: false, has_implicit_self: true } }, Required([Spanned { node: self, span: src/iterator.rs:17:12: 17:16 }, Spanned { node: other, span: src/iterator.rs:17:18: 17:23 }])), span: src/iterator.rs:17:5: 17:39 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Rhs as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Rhs as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::PartialEq<Rhs>>)), Binder(TraitPredicate(<Rhs as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self, &Rhs]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self, &Rhs]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self, &Rhs]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self, &Rhs]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=&Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&Self,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=&Rhs,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&Rhs,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=bool,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=bool,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<Rhs as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<Rhs as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Rhs,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Rhs,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=Rhs,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Rhs,depth=0))
rustc_typeck::check::wfcheck: check_method_receiver(AssociatedItem { def_id: DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), name: eq, kind: Method, vis: Public, defaultness: Default { has_value: false }, container: TraitContainer(DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0])), method_has_self_argument: true }, self_ty=Self)
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&Self, &Rhs]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&Self, &Rhs]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::wfcheck: check_method_receiver: sig=([&Self, &Rhs]; variadic: false)->bool
rustc::traits::project: normalize_with_depth(depth=0, value=Self)
rustc::traits::project: normalize_with_depth: depth=0 result=Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=&Self)
rustc::traits::project: normalize_with_depth: depth=0 result=&Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&Self
rustc_typeck::check::autoderef: autoderef stage #0 is &Self
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `&Self` to match `Self`
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&Self
rustc_typeck::check::autoderef: autoderef stage #1 is Self from (&Self, Builtin)
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `Self` to match `Self`
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Rhs, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(1)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Rhs, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(1)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Rhs,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=bool,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(Rhs, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(1)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(0)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&Rhs,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&Self,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(24), wf_tys=[&Self, &Rhs, bool])
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Rhs, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(1)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Rhs, ReFree(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0]), BrAnon(1)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_region_obligations: node_id=24
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_trait_item: TraitItem { id: NodeId(71), name: Item, hir_id: HirId { owner: DefIndex(0:13), local_id: ItemLocalId(0) }, attrs: [], generics: Generics { params: [], where_clause: WhereClause { id: NodeId(72), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, node: Type([], None), span: src/iterator.rs:30:5: 30:15 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Iterator>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: project: obligation_trait_ref=<Self as iterator::Iterator>
rustc::traits::project: assemble_candidates_from_param_env(..)
rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as iterator::Iterator>))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::project: assemble_candidates_from_trait_def(..)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Iterator>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::project: opt_normalize_projection_type: projected_ty=<Self as iterator::Iterator>::Item no progress
rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }, value=Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 0 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(71), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=71
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_trait_item: TraitItem { id: NodeId(73), name: all, hir_id: HirId { owner: DefIndex(0:14), local_id: ItemLocalId(0) }, attrs: [], generics: Generics { params: [], where_clause: WhereClause { id: NodeId(74), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [type(&mut Self)], output: Return(type(bool)), variadic: false, has_implicit_self: true } }, Provided(BodyId { node_id: NodeId(116) })), span: src/iterator.rs:32:5: 38:6 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), Binder(TraitPredicate(<Self as iterator::Iterator>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<Self as iterator::Iterator>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: project: obligation_trait_ref=<Self as iterator::Iterator>
rustc::traits::project: assemble_candidates_from_param_env(..)
rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as iterator::Iterator>))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::project: assemble_candidates_from_trait_def(..)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Iterator>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::project: opt_normalize_projection_type: projected_ty=<Self as iterator::Iterator>::Item no progress
rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }, value=Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 0 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&mut Self]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&mut Self]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&mut Self]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&mut Self]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=&mut Self,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&mut Self,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=bool,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=bool,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: project(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: project: obligation_trait_ref=<Self as iterator::Iterator>
rustc::traits::project: assemble_candidates_from_param_env(..)
rustc::traits::project: assemble_candidates_from_predicates(obligation=Obligation(predicate=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) },depth=0))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<Self as iterator::Iterator>))
rustc::traits::project: assemble_candidates_from_predicates: predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::project: assemble_candidates_from_trait_def(..)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_from_impls(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_object_ty(self_ty=Self)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)): [ParamCandidate(Binder(<Self as iterator::Iterator>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::project: opt_normalize_projection_type: projected_ty=<Self as iterator::Iterator>::Item no progress
rustc::traits::project: ProjectionCacheEntry::insert_ty: adding cache entry: key=ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }, value=Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 0 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc_typeck::check: register_predicate(Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc_typeck::check::wfcheck: check_method_receiver(AssociatedItem { def_id: DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), name: all, kind: Method, vis: Public, defaultness: Default { has_value: true }, container: TraitContainer(DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0])), method_has_self_argument: true }, self_ty=Self)
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&mut Self]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&mut Self]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::wfcheck: check_method_receiver: sig=([&mut Self]; variadic: false)->bool
rustc::traits::project: normalize_with_depth(depth=0, value=Self)
rustc::traits::project: normalize_with_depth: depth=0 result=Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=&mut Self)
rustc::traits::project: normalize_with_depth: depth=0 result=&mut Self with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&mut Self
rustc_typeck::check::autoderef: autoderef stage #0 is &mut Self
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `&mut Self` to match `Self`
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&mut Self
rustc_typeck::check::autoderef: autoderef stage #1 is Self from (&mut Self, Builtin)
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `Self` to match `Self`
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: opt_normalize_projection_type(projection_ty=ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) }, depth=0)
rustc::traits::project: opt_normalize_projection_type: found normalized ty `Normalized(<Self as iterator::Iterator>::Item,[])`
rustc::traits::project: ProjectionCacheEntry::complete(ProjectionCacheKey { ty: ProjectionTy { substs: Slice([Self]), item_def_id: DefId(0/0:13 ~ core[3d48]::iterator[0]::Iterator[0]::Item[0]) } }) - completing Normalized(<Self as iterator::Iterator>::Item,[])
rustc::traits::project: AssociatedTypeNormalizer: depth=0 normalized <Self as iterator::Iterator>::Item to <Self as iterator::Iterator>::Item with 1 add'l obligations
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) with 2 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Self,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Self,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<Self as iterator::Iterator>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<Self as iterator::Iterator>)))=Ok(Some(ParamCandidate(Binder(<Self as iterator::Iterator>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), ParamCandidate(Binder(<Self as iterator::Iterator>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0),Binder(<Self as iterator::Iterator>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0) poly_trait_ref=Binder(<Self as iterator::Iterator>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<Self as iterator::Iterator>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=bool,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<Self as iterator::Iterator>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: match_projection_obligation_against_definition_bounds: skol_trait_predicate=TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>) skol_map={}
rustc::traits::select: match_projection_obligation_against_definition_bounds: def_id=DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0]), substs=Slice([Self])
rustc::traits::select: match_projection_obligation_against_definition_bounds: bounds=InstantiatedPredicates([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::select: match_projection_obligation_against_definition_bounds: matching_bound=Some(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: candidate list size: 2
rustc::traits::select: assembled 2 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0)): [ProjectionCandidate, ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))]
rustc::traits::select: evaluate_candidate: depth=0 candidate=ProjectionCandidate
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ProjectionCandidate)
rustc::traits::select: match_projection_obligation_against_definition_bounds: skol_trait_predicate=TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>) skol_map={}
rustc::traits::select: match_projection_obligation_against_definition_bounds: def_id=DefId(0/0:12 ~ core[3d48]::iterator[0]::Iterator[0]), substs=Slice([Self])
rustc::traits::select: match_projection_obligation_against_definition_bounds: bounds=InstantiatedPredicates([Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))])
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)) predicates=[]
rustc::traits::select: match_projection_obligation_against_definition_bounds: matching_bound=Some(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: evaluate_candidate: depth=0 candidate=ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0),Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: Dropping candidate #0/2: EvaluatedCandidate { candidate: ProjectionCandidate, evaluation: EvaluatedToOk }
rustc::traits::select: Retaining candidate #0/1: EvaluatedCandidate { candidate: ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)), evaluation: EvaluatedToOk }
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), ParamCandidate(Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0),Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Self,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=<Self as iterator::Iterator>::Item,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&mut Self,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(73), wf_tys=[&mut Self, bool])
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(Self, ReFree(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_region_obligations: node_id=73
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::wfcheck: visit_impl_item: ImplItem { id: NodeId(56), name: eq, hir_id: HirId { owner: DefIndex(0:11), local_id: ItemLocalId(0) }, vis: Inherited, defaultness: Final, attrs: [], generics: Generics { params: [], where_clause: WhereClause { id: NodeId(57), predicates: [] }, span: src/lib.rs:1:1: 1:1 }, node: Method(MethodSig { unsafety: Normal, constness: NotConst, abi: Rust, decl: FnDecl { inputs: [type(&Self), type(&Self)], output: Return(type(bool)), variadic: false, has_implicit_self: true } }, BodyId { node_id: NodeId(112) }), span: src/iterator.rs:26:5: 26:49 }
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<B as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<C as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits::project: normalize_with_depth(depth=0, value=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc::traits::project: normalize_with_depth: depth=0 result=<iterator::LoopState<C, B> as iterator::PartialEq> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=&iterator::LoopState<C, B>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&iterator::LoopState<C, B>,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=&iterator::LoopState<C, B>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&iterator::LoopState<C, B>,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=bool,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=bool,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=C,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=C,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=C,depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=B,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=B,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: register_predicate(Obligation(predicate=B,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=B,depth=0))
rustc_typeck::check::wfcheck: check_method_receiver(AssociatedItem { def_id: DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), name: eq, kind: Method, vis: Restricted(DefId(0/0:1 ~ core[3d48]::iterator[0])), defaultness: Final, container: ImplContainer(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0])), method_has_self_argument: true }, self_ty=iterator::LoopState<C, B>)
rustc::traits::project: normalize_with_depth(depth=0, value=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool))
rustc::traits::project: normalize_with_depth: depth=0 result=Binder(([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::wfcheck: check_method_receiver: sig=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool
rustc::traits::project: normalize_with_depth(depth=0, value=iterator::LoopState<C, B>)
rustc::traits::project: normalize_with_depth: depth=0 result=iterator::LoopState<C, B> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=&iterator::LoopState<C, B>)
rustc::traits::project: normalize_with_depth: depth=0 result=&iterator::LoopState<C, B> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<C, B>
rustc_typeck::check::autoderef: autoderef stage #0 is &iterator::LoopState<C, B>
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `&iterator::LoopState<C, B>` to match `iterator::LoopState<C, B>`
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<C, B>
rustc_typeck::check::autoderef: autoderef stage #1 is iterator::LoopState<C, B> from (&iterator::LoopState<C, B>, Builtin)
rustc_typeck::check::wfcheck: check_method_receiver: potential self type `iterator::LoopState<C, B>` to match `iterator::LoopState<C, B>`
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=bool,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=B,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=C,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<C as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<C as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<C as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<C as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), ParamCandidate(Binder(<C as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0),Binder(<C as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<C as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<B as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0)): [ParamCandidate(Binder(<B as iterator::Sized>))]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<B as iterator::Sized>)))=Ok(Some(ParamCandidate(Binder(<B as iterator::Sized>))))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), ParamCandidate(Binder(<B as iterator::Sized>)))
rustc::traits::select: confirm_param_candidate(Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0),Binder(<B as iterator::Sized>))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<B as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&iterator::LoopState<C, B>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&iterator::LoopState<C, B>,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(56), wf_tys=[iterator::LoopState<C, B>, iterator::LoopState<C, B>, &iterator::LoopState<C, B>, &iterator::LoopState<C, B>, bool])
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_region_obligations: node_id=56
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: check_item_type(it.id=2, it.name=iterator)
rustc_typeck::check: check_item_type(it.id=3, it.name=iterator::Sized)
rustc_typeck::check: check_item_type(it.id=5, it.name=iterator::Clone)
rustc_typeck::check: check_item_type(it.id=15, it.name=iterator::Copy)
rustc_typeck::check: check_item_type(it.id=18, it.name=iterator::Freeze)
rustc_typeck::check: check_item_type(it.id=20, it.name=iterator::PartialEq)
rustc_typeck::check: check_item_type(it.id=35, it.name=iterator::LoopState)
rustc_typeck::check: check_item_type(it.id=45, it.name=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc_typeck::check: ItemImpl with id 45
rustc_typeck::check::compare_method: compare_impl_method(impl_trait_ref=<iterator::LoopState<C, B> as iterator::PartialEq>)
rustc_typeck::check::compare_method: compare_impl_method: trait_to_skol_substs=Slice([iterator::LoopState<C, B>, iterator::LoopState<C, B>])
rustc_typeck::check::compare_method: check_region_bounds_on_impl_method: trait_generics=Generics { parent: Some(DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0])), parent_regions: 0, parent_types: 2, regions: [], types: [], type_param_to_index: {}, has_self: true, has_late_bound_regions: Some(src/iterator.rs:17:11: 17:11) } impl_generics=Generics { parent: Some(DefId(0/0:10 ~ core[3d48]::iterator[0]::{{impl}}[0])), parent_regions: 0, parent_types: 2, regions: [], types: [], type_param_to_index: {}, has_self: false, has_late_bound_regions: Some(src/iterator.rs:26:11: 26:11) } trait_to_skol_substs=Slice([iterator::LoopState<C, B>, iterator::LoopState<C, B>])
rustc_typeck::check::compare_method: compare_impl_method: impl_bounds=InstantiatedPredicates([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))])
rustc::traits: normalize_param_env_or_error(unnormalized_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<C as iterator::Sized>)), Binder(TraitPredicate(<B as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<B as iterator::Sized>)) predicates=[]
rustc::traits::util: super_predicates: data=Binder(TraitPredicate(<C as iterator::Sized>)) predicates=[]
rustc::traits: normalize_param_env_or_error: elaborated-predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: fully_normalize_with_fulfillcx(value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth: depth=0 result=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits: fully_normalize: normalized_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))] obligations=[]
rustc::traits: fully_normalize: select_all_or_error start
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits: fully_normalize: select_all_or_error complete
rustc::traits: fully_normalize: resolved_value=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: normalized predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc::traits: normalize_param_env_or_error: resolved predicates=[Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]
rustc_typeck::check::compare_method: compare_impl_method: caller_bounds=Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))])
rustc::traits::project: normalize_with_depth(depth=0, value=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool)
rustc::traits::project: normalize_with_depth: depth=0 result=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::compare_method: compare_impl_method: impl_fty=fn(&iterator::LoopState<C, B>, &iterator::LoopState<C, B>) -> bool
rustc::traits::project: normalize_with_depth(depth=0, value=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool)
rustc::traits::project: normalize_with_depth: depth=0 result=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check::compare_method: compare_impl_method: trait_fty=fn(&iterator::LoopState<C, B>, &iterator::LoopState<C, B>) -> bool
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_item(item.id=NodeId(56), wf_tys=[])
rustc_typeck::check::regionck: visit_region_obligations: node_id=56
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: check_item_type(it.id=69, it.name=iterator::Iterator)
rustc_typeck::check: check_item_type(it.id=102, it.name=prelude)
rustc_typeck::check: check_item_type(it.id=103, it.name=prelude::v1)
rustc::traits::project: normalize_with_depth(depth=0, value=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool)
rustc::traits::project: normalize_with_depth: depth=0 result=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: check_fn(sig=([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool, fn_id=56, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc_typeck::check: instantiate_anon_types_from_return_value(fn_def_id=DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), value=bool)
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: Pattern binding self is assigned to _ with type _
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: Pattern binding _other is assigned to _ with type _
rustc_typeck::check::_match: check_pat_walk(pat=pat(59: self),expected=&iterator::LoopState<C, B>,def_bm=BindByValue(MutImmutable),is_arg=true)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(5) }, &iterator::LoopState<C, B>) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(4) }, &iterator::LoopState<C, B>) in fcx
rustc_typeck::check::_match: check_pat_walk(pat=pat(63: _other),expected=&iterator::LoopState<C, B>,def_bm=BindByValue(MutImmutable),is_arg=true)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(7) }, &iterator::LoopState<C, B>) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(6) }, &iterator::LoopState<C, B>) in fcx
rustc_typeck::check: >> typechecking: expr=expr(112: { true }) expected=ExpectHasType(bool)
rustc_typeck::check: >> typechecking: expr=expr(68: true) expected=ExpectHasType(bool)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(1) }, bool) in fcx
rustc_typeck::check: type of expr true (id=68) is...
rustc_typeck::check: ... bool, expected is ExpectHasType(bool)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=bool)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=bool
rustc_typeck::check::coercion: coercion::try(expr(68: true): bool -> bool)
rustc_typeck::check::coercion: Coerce.tys(bool => bool)
rustc_typeck::check::coercion: coerce_unsized(source=bool, target=bool)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(68: true), adj=[])
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(2) }, bool) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(3) }, bool) in fcx
rustc_typeck::check: type of expr { true } (id=112) is...
rustc_typeck::check: ... bool, expected is ExpectHasType(bool)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=bool)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=bool
rustc_typeck::check::coercion: coercion::try(expr(112: { true }): bool -> bool)
rustc_typeck::check::coercion: Coerce.tys(bool => bool)
rustc_typeck::check::coercion: coerce_unsized(source=bool, target=bool)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(112: { true }), adj=[])
rustc::traits::fulfill: select(obligation-forest-size=3)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<bool as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<bool as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<bool as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<bool as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<B as iterator::Sized>)
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<C as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<&iterator::LoopState<C, B> as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck_fn(id=56)
rustc_typeck::check::regionck: visit_fn_body(id=56)
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(0)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(iterator::LoopState<C, B>, ReFree(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]), BrAnon(1)))),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<C as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<B as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: regionck::link_fn_args(body_scope=Node(ItemLocalId(3)))
rustc_typeck::check::regionck: arg_ty=&iterator::LoopState<C, B> arg_cmt=cmt_ { id: NodeId(58), span: src/iterator.rs:26:11: 26:16, cat: Rvalue(ReScope(Node(ItemLocalId(3)))), mutbl: McDeclared, ty: &iterator::LoopState<C, B>, note: NoteNone } arg=Arg { pat: pat(59: self), id: NodeId(58), hir_id: HirId { owner: DefIndex(0:11), local_id: ItemLocalId(4) } }
rustc_typeck::check::regionck: link_pattern(discr_cmt=cmt_ { id: NodeId(58), span: src/iterator.rs:26:11: 26:16, cat: Rvalue(ReScope(Node(ItemLocalId(3)))), mutbl: McDeclared, ty: &iterator::LoopState<C, B>, note: NoteNone }, root_pat=pat(59: self))
rustc_typeck::check::regionck: arg_ty=&iterator::LoopState<C, B> arg_cmt=cmt_ { id: NodeId(62), span: src/iterator.rs:26:18: 26:24, cat: Rvalue(ReScope(Node(ItemLocalId(3)))), mutbl: McDeclared, ty: &iterator::LoopState<C, B>, note: NoteNone } arg=Arg { pat: pat(63: _other), id: NodeId(62), hir_id: HirId { owner: DefIndex(0:11), local_id: ItemLocalId(6) } }
rustc_typeck::check::regionck: link_pattern(discr_cmt=cmt_ { id: NodeId(62), span: src/iterator.rs:26:18: 26:24, cat: Rvalue(ReScope(Node(ItemLocalId(3)))), mutbl: McDeclared, ty: &iterator::LoopState<C, B>, note: NoteNone }, root_pat=pat(63: _other))
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(112: { true }), repeating_scope=112)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(112: { true }))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: bool scope: Node(ItemLocalId(3))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=bool, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(112: { true }), repeating_scope=112) - visiting subexprs
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(68: true), repeating_scope=112)
rustc_typeck::check::regionck: constrain_adjustments(expr=expr(68: true))
rustc_typeck::check::dropck: check_safety_of_destructor_if_necessary typ: bool scope: Node(ItemLocalId(3))
rustc::traits::query::dropck_outlives: dropck_outlives(ty=bool, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<B as iterator::Sized>)), Binder(TraitPredicate(<C as iterator::Sized>))]), reveal: UserFacing })
rustc_typeck::check::dropck: dropck_outlives = InferOk {
value: [],
obligations: []
}
rustc_typeck::check::regionck: regionck::visit_expr(e=expr(68: true), repeating_scope=112) - visiting subexprs
rustc_typeck::check::regionck: visit_region_obligations: node_id=112
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check::regionck: visit_fn_body body.id BodyId { node_id: NodeId(112) } call_site_scope: CallSite(ItemLocalId(3))
rustc_typeck::check::regionck: constrain_regions_in_type_of_node(ty=bool, ty0=bool, id=HirId { owner: DefIndex(0:11), local_id: ItemLocalId(3) }, minimum_lifetime=ReScope(CallSite(ItemLocalId(3))))
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(4) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(4) }, &iterator::LoopState<C, B>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(4) } has type &iterator::LoopState<C, B>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(6) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(6) }, &iterator::LoopState<C, B>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(6) } has type &iterator::LoopState<C, B>
rustc_typeck::check::writeback: No pat_adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(5) }
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(5) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(5) }, &iterator::LoopState<C, B>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(5) } has type &iterator::LoopState<C, B>
rustc_typeck::check::writeback: No pat_adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(7) }
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(7) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(7) }, &iterator::LoopState<C, B>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(7) } has type &iterator::LoopState<C, B>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(3) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(3) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(3) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(2) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(2) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(2) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(1) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:11), local_id: ItemLocalId(1) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:11), local_id: ItemLocalId(1) } has type bool
rustc_typeck::check::writeback: used_trait_imports(DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0])) = {}
rustc_typeck::check::writeback: writeback: tables for DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0]) are TypeckTables {
local_id_root: Some(
DefId(0/0:11 ~ core[3d48]::iterator[0]::{{impl}}[0]::eq[0])
),
type_dependent_defs: {},
user_provided_tys: {},
node_types: {
ItemLocalId(
5
): &iterator::LoopState<C, B>,
ItemLocalId(
2
): bool,
ItemLocalId(
7
): &iterator::LoopState<C, B>,
ItemLocalId(
4
): &iterator::LoopState<C, B>,
ItemLocalId(
1
): bool,
ItemLocalId(
6
): &iterator::LoopState<C, B>,
ItemLocalId(
3
): bool
},
node_substs: {},
adjustments: {},
pat_binding_modes: {
ItemLocalId(
5
): BindByValue(
MutImmutable
),
ItemLocalId(
7
): BindByValue(
MutImmutable
)
},
pat_adjustments: {},
upvar_capture_map: {},
closure_kind_origins: {},
liberated_fn_sigs: {
ItemLocalId(
0
): ([&iterator::LoopState<C, B>, &iterator::LoopState<C, B>]; variadic: false)->bool
},
fru_field_types: {},
cast_kinds: {},
used_trait_imports: {},
tainted_by_errors: false,
free_region_map: FreeRegionMap {
relation: TransitiveRelation {
elements: [],
map: {},
edges: [],
closure: Lock(
RefCell {
value: None
}
)
}
}
}
rustc::traits::project: normalize_with_depth(depth=0, value=([&mut Self]; variadic: false)->bool)
rustc::traits::project: normalize_with_depth: depth=0 result=([&mut Self]; variadic: false)->bool with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: check_fn(sig=([&mut Self]; variadic: false)->bool, fn_id=73, param_env=ParamEnv { caller_bounds: Slice([Binder(TraitPredicate(<Self as iterator::Iterator>)), Binder(TraitPredicate(<<Self as iterator::Iterator>::Item as iterator::Sized>))]), reveal: UserFacing })
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc_typeck::check: instantiate_anon_types_from_return_value(fn_def_id=DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]), value=bool)
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: Pattern binding self is assigned to _ with type _
rustc_typeck::check: Local variable pat(82: val) is assigned type _
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: Pattern binding val is assigned to _ with type _
rustc_typeck::check::_match: check_pat_walk(pat=pat(76: self),expected=&mut Self,def_bm=BindByValue(MutImmutable),is_arg=true)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(27) }, &mut Self) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(26) }, &mut Self) in fcx
rustc_typeck::check: >> typechecking: expr=expr(116: {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) }) expected=ExpectHasType(bool)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(1) }, _) in fcx
rustc_typeck::check: >> typechecking: expr=expr(93: ) expected=ExpectHasType(_)
rustc_typeck::check: >> typechecking: expr=expr(83: false) expected=ExpectIfCondition
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(13) }, bool) in fcx
rustc_typeck::check: type of expr false (id=83) is...
rustc_typeck::check: ... bool, expected is ExpectIfCondition
rustc_typeck::check: >> typechecking: expr=expr(115: { LoopState::Continue(()) }) expected=NoExpectation
rustc_typeck::check: >> typechecking: expr=expr(87: LoopState::Continue(())) expected=NoExpectation
rustc_typeck::check: >> typechecking: expr=expr(85: LoopState::Continue) expected=NoExpectation
rustc_typeck::check: instantiate_value_path(path=[PathSegment { name: LoopState, parameters: None, infer_types: true }, PathSegment { name: Continue, parameters: None, infer_types: true }], def=VariantCtor(DefId(0/1:10 ~ core[3d48]::iterator[0]::LoopState[0]::Continue[0]), Fn), node_id=85)
rustc_typeck::check: type_segment=Some((PathSegment { name: Continue, parameters: None, infer_types: true }, Generics { parent: None, parent_regions: 0, parent_types: 0, regions: [], types: [TypeParameterDef(C, DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]), 0), TypeParameterDef(B, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]), 1)], type_param_to_index: {DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]): 0, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]): 1}, has_self: false, has_late_bound_regions: None })) fn_segment=None
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_bounds(bounds=GenericPredicates([]), substs=Slice([_, _])) = InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))])
rustc_typeck::check: add_obligations_for_parameters(predicates=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::project: normalize_with_depth: depth=0 result=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue} with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_type_scheme(value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}, substs=Slice([_, _])) = fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: instantiate_value_path: type of NodeId(85) is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: write_substs(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) }, Slice([_, _])) in fcx
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) }, fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}) in fcx
rustc_typeck::check: type of expr LoopState::Continue (id=85) is...
rustc_typeck::check: ... fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<bool as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<bool as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<&mut Self as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<&mut Self as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<&mut Self as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: candidate set contains ambig
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<bool as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<&mut Self as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::autoderef: autoderef stage #0 is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::callee: try_overloaded_call_step(call_expr=expr(87: LoopState::Continue(())), adjusted_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc_typeck::check: apply_adjustments(expr=expr(85: LoopState::Continue), adj=[])
rustc::traits::project: normalize_with_depth(depth=0, value=([_]; variadic: false)->iterator::LoopState<_, _>)
rustc::traits::project: normalize_with_depth: depth=0 result=([_]; variadic: false)->iterator::LoopState<_, _> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<_, _>
rustc_typeck::check: expected_inputs_for_expected_output(formal=[_] -> iterator::LoopState<_, _>, expected=[] -> NoExpectation)
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: check_argument_types: formal_tys=["_"]
rustc_typeck::check: check_closures=false
rustc_typeck::check: checking the argument
rustc_typeck::check: >> typechecking: expr=expr(86: ()) expected=ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(9) }, ()) in fcx
rustc_typeck::check: type of expr () (id=86) is...
rustc_typeck::check: ... (), expected is ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=6)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<() as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<() as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc_typeck::check: resolve_type_vars_with_obligations(ty=())
rustc_typeck::check: resolve_type_vars_with_obligations: ty=()
rustc_typeck::check::coercion: coercion::try(expr(86: ()): () -> _)
rustc_typeck::check::coercion: Coerce.tys(() => _)
rustc_typeck::check::coercion: coerce_unsized(source=(), target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(86: ()), adj=[])
rustc_typeck::check: check_closures=true
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(3 predicates remaining, 0 errors) done
rustc_typeck::check: register_predicate(Obligation(predicate=iterator::LoopState<_, _>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=iterator::LoopState<(), _>,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(10) }, iterator::LoopState<(), _>) in fcx
rustc_typeck::check: type of expr LoopState::Continue(()) (id=87) is...
rustc_typeck::check: ... iterator::LoopState<_, _>, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(4 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<(), _>
rustc_typeck::check::coercion: coercion::try(expr(87: LoopState::Continue(())): iterator::LoopState<(), _> -> _)
rustc_typeck::check::coercion: Coerce.tys(iterator::LoopState<(), _> => _)
rustc_typeck::check::coercion: coerce_unsized(source=iterator::LoopState<(), _>, target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc_typeck::check: apply_adjustments(expr=expr(87: LoopState::Continue(())), adj=[])
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(11) }, iterator::LoopState<(), _>) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(12) }, iterator::LoopState<(), _>) in fcx
rustc_typeck::check: type of expr { LoopState::Continue(()) } (id=115) is...
rustc_typeck::check: ... _, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<(), _>)
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<(), _>
rustc_typeck::check::coercion: coercion::try(expr(115: { LoopState::Continue(()) }): iterator::LoopState<(), _> -> _)
rustc_typeck::check::coercion: Coerce.tys(iterator::LoopState<(), _> => _)
rustc_typeck::check::coercion: coerce_unsized(source=iterator::LoopState<(), _>, target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc_typeck::check: apply_adjustments(expr=expr(115: { LoopState::Continue(()) }), adj=[])
rustc_typeck::check: >> typechecking: expr=expr(92: { LoopState::Break(()) }) expected=NoExpectation
rustc_typeck::check: >> typechecking: expr=expr(91: LoopState::Break(())) expected=NoExpectation
rustc_typeck::check: >> typechecking: expr=expr(89: LoopState::Break) expected=NoExpectation
rustc_typeck::check: instantiate_value_path(path=[PathSegment { name: LoopState, parameters: None, infer_types: true }, PathSegment { name: Break, parameters: None, infer_types: true }], def=VariantCtor(DefId(0/1:12 ~ core[3d48]::iterator[0]::LoopState[0]::Break[0]), Fn), node_id=89)
rustc_typeck::check: type_segment=Some((PathSegment { name: Break, parameters: None, infer_types: true }, Generics { parent: None, parent_regions: 0, parent_types: 0, regions: [], types: [TypeParameterDef(C, DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]), 0), TypeParameterDef(B, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]), 1)], type_param_to_index: {DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]): 0, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]): 1}, has_self: false, has_late_bound_regions: None })) fn_segment=None
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_bounds(bounds=GenericPredicates([]), substs=Slice([_, _])) = InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))])
rustc_typeck::check: add_obligations_for_parameters(predicates=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break})
rustc::traits::project: normalize_with_depth: depth=0 result=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break} with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_type_scheme(value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}, substs=Slice([_, _])) = fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check: instantiate_value_path: type of NodeId(89) is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check: write_substs(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) }, Slice([_, _])) in fcx
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) }, fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}) in fcx
rustc_typeck::check: type of expr LoopState::Break (id=89) is...
rustc_typeck::check: ... fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break})
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check::autoderef: autoderef stage #0 is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break})
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break}
rustc_typeck::check::callee: try_overloaded_call_step(call_expr=expr(91: LoopState::Break(())), adjusted_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Break})
rustc_typeck::check: apply_adjustments(expr=expr(89: LoopState::Break), adj=[])
rustc::traits::project: normalize_with_depth(depth=0, value=([_]; variadic: false)->iterator::LoopState<_, _>)
rustc::traits::project: normalize_with_depth: depth=0 result=([_]; variadic: false)->iterator::LoopState<_, _> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<_, _>
rustc_typeck::check: expected_inputs_for_expected_output(formal=[_] -> iterator::LoopState<_, _>, expected=[] -> NoExpectation)
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: check_argument_types: formal_tys=["_"]
rustc_typeck::check: check_closures=false
rustc_typeck::check: checking the argument
rustc_typeck::check: >> typechecking: expr=expr(90: ()) expected=ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(4) }, ()) in fcx
rustc_typeck::check: type of expr () (id=90) is...
rustc_typeck::check: ... (), expected is ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc_typeck::check: resolve_type_vars_with_obligations(ty=())
rustc_typeck::check: resolve_type_vars_with_obligations: ty=()
rustc_typeck::check::coercion: coercion::try(expr(90: ()): () -> _)
rustc_typeck::check::coercion: Coerce.tys(() => _)
rustc_typeck::check::coercion: coerce_unsized(source=(), target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(90: ()), adj=[])
rustc_typeck::check: check_closures=true
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(8 predicates remaining, 0 errors) done
rustc_typeck::check: register_predicate(Obligation(predicate=iterator::LoopState<_, _>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=iterator::LoopState<_, ()>,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(5) }, iterator::LoopState<_, ()>) in fcx
rustc_typeck::check: type of expr LoopState::Break(()) (id=91) is...
rustc_typeck::check: ... iterator::LoopState<_, _>, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=9)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(9 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<_, ()>
rustc_typeck::check::coercion: coercion::try(expr(91: LoopState::Break(())): iterator::LoopState<_, ()> -> _)
rustc_typeck::check::coercion: Coerce.tys(iterator::LoopState<_, ()> => _)
rustc_typeck::check::coercion: coerce_unsized(source=iterator::LoopState<_, ()>, target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc_typeck::check: apply_adjustments(expr=expr(91: LoopState::Break(())), adj=[])
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(6) }, iterator::LoopState<_, ()>) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(7) }, iterator::LoopState<_, ()>) in fcx
rustc_typeck::check: type of expr { LoopState::Break(()) } (id=92) is...
rustc_typeck::check: ... _, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<(), _>
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, ()>)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(10 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<_, ()>
rustc_typeck::check::coercion: coercion::try_find_coercion_lub(iterator::LoopState<(), _>, iterator::LoopState<_, ()>)
rustc_typeck::check::coercion: Coerce.tys(iterator::LoopState<_, ()> => iterator::LoopState<(), _>)
rustc_typeck::check::coercion: coerce_unsized(source=iterator::LoopState<_, ()>, target=iterator::LoopState<(), _>)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(92: { LoopState::Break(()) }), adj=[])
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(14) }, iterator::LoopState<(), ()>) in fcx
rustc_typeck::check: type of expr (id=93) is...
rustc_typeck::check: ... iterator::LoopState<_, _>, expected is ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=10)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: () }),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: () }),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=iterator::LoopState<_, ()>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: () }),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=iterator::LoopState<(), _>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(1 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<(), ()>
rustc_typeck::check::coercion: coercion::try(expr(93: ): iterator::LoopState<(), ()> -> _)
rustc_typeck::check::coercion: Coerce.tys(iterator::LoopState<(), ()> => _)
rustc_typeck::check::coercion: coerce_unsized(source=iterator::LoopState<(), ()>, target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(93: ), adj=[])
rustc_typeck::check::_match: check_pat_walk(pat=pat(82: val),expected=_,def_bm=BindByValue(MutImmutable),is_arg=true)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) }, iterator::LoopState<(), ()>) in fcx
rustc_typeck::check: >> typechecking: expr=expr(101: PartialEq::eq(&val, &LoopState::Continue(()))) expected=ExpectHasType(bool)
rustc_typeck::check: >> typechecking: expr=expr(94: PartialEq::eq) expected=NoExpectation
rustc_typeck::check: instantiate_value_path(path=[PathSegment { name: PartialEq, parameters: None, infer_types: true }, PathSegment { name: eq, parameters: None, infer_types: true }], def=Method(DefId(0/0:8 ~ core[3d48]::iterator[0]::PartialEq[0]::eq[0])), node_id=94)
rustc_typeck::check: type_segment=Some((PathSegment { name: PartialEq, parameters: None, infer_types: true }, Generics { parent: None, parent_regions: 0, parent_types: 0, regions: [], types: [TypeParameterDef(Self, DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0]), 0), TypeParameterDef(Rhs, DefId(0/1:9 ~ core[3d48]::iterator[0]::PartialEq[0]::Rhs[0]), 1)], type_param_to_index: {DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0]): 0, DefId(0/1:9 ~ core[3d48]::iterator[0]::PartialEq[0]::Rhs[0]): 1}, has_self: true, has_late_bound_regions: None })) fn_segment=Some((PathSegment { name: eq, parameters: None, infer_types: true }, Generics { parent: Some(DefId(0/0:7 ~ core[3d48]::iterator[0]::PartialEq[0])), parent_regions: 0, parent_types: 2, regions: [], types: [], type_param_to_index: {}, has_self: true, has_late_bound_regions: Some(src/iterator.rs:17:11: 17:11) }))
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_bounds(bounds=GenericPredicates([]), substs=Slice([_, _])) = InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>))])
rustc_typeck::check: add_obligations_for_parameters(predicates=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq})
rustc::traits::project: normalize_with_depth: depth=0 result=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq} with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_type_scheme(value=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}, substs=Slice([_, _])) = for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check: instantiate_value_path: type of NodeId(94) is for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check: write_substs(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) }, Slice([_, _])) in fcx
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) }, for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}) in fcx
rustc_typeck::check: type of expr PartialEq::eq (id=94) is...
rustc_typeck::check: ... for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq})
rustc::traits::fulfill: select(obligation-forest-size=4)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0))
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: evaluate_candidate: depth=0 candidate=BuiltinCandidate { has_nested: false }
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::select: evaluate_candidate: depth=0 result=EvaluatedToOk
rustc::traits::select: CACHE MISS: EVAL(Binder(<iterator::LoopState<(), ()> as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), ()> as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(3 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check::autoderef: autoderef stage #0 is for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check: resolve_type_vars_with_obligations(ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq})
rustc::traits::fulfill: select(obligation-forest-size=3)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(3 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}
rustc_typeck::check::callee: try_overloaded_call_step(call_expr=expr(101: PartialEq::eq(&val, &LoopState::Continue(()))), adjusted_ty=for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq})
rustc_typeck::check: apply_adjustments(expr=expr(94: PartialEq::eq), adj=[])
rustc::traits::project: normalize_with_depth(depth=0, value=([&_, &_]; variadic: false)->bool)
rustc::traits::project: normalize_with_depth: depth=0 result=([&_, &_]; variadic: false)->bool with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: resolve_type_vars_with_obligations(ty=bool)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=bool
rustc::traits::fulfill: select(obligation-forest-size=0)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(0 predicates remaining, 0 errors) done
rustc_typeck::check: expected_inputs_for_expected_output(formal=[&_, &_] -> bool, expected=[&_, &_] -> ExpectHasType(bool))
rustc_typeck::check: register_predicate(Obligation(predicate=&_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&_,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=&_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=&_,depth=0))
rustc_typeck::check: check_argument_types: formal_tys=["&_", "&_"]
rustc_typeck::check: check_closures=false
rustc_typeck::check: checking the argument
rustc_typeck::check: >> typechecking: expr=expr(96: &val) expected=ExpectHasType(&_)
rustc_typeck::check: >> typechecking: expr=expr(95: val) expected=ExpectHasType(_)
rustc_typeck::check: instantiate_value_path(path=[PathSegment { name: val, parameters: None, infer_types: true }], def=Local(NodeId(82)), node_id=95)
rustc_typeck::check: type_segment=None fn_segment=None
rustc::traits::project: normalize_with_depth(depth=0, value=_)
rustc::traits::project: normalize_with_depth: depth=0 result=iterator::LoopState<(), ()> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(17) }, iterator::LoopState<(), ()>) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(17) }, iterator::LoopState<(), ()>) in fcx
rustc_typeck::check: type of expr val (id=95) is...
rustc_typeck::check: ... iterator::LoopState<(), ()>, expected is ExpectHasType(_)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) }, &iterator::LoopState<(), ()>) in fcx
rustc_typeck::check: type of expr &val (id=96) is...
rustc_typeck::check: ... &iterator::LoopState<(), ()>, expected is ExpectHasType(&_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=&_)
rustc::traits::fulfill: select(obligation-forest-size=5)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(_, '_#0r)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(_, '_#0r)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(OutlivesPredicate(_, '_#1r)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(OutlivesPredicate(_, '_#1r)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(_, '_#1r)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=Binder(OutlivesPredicate(_, '_#0r)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=&_
rustc_typeck::check: resolve_type_vars_with_obligations(ty=&iterator::LoopState<(), ()>)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=&iterator::LoopState<(), ()>
rustc_typeck::check::coercion: coercion::try(expr(96: &val): &iterator::LoopState<(), ()> -> &_)
rustc_typeck::check::coercion: Coerce.tys(&iterator::LoopState<(), ()> => &_)
rustc_typeck::check::coercion: coerce_unsized(source=&iterator::LoopState<(), ()>, target=&_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check::coercion: coerce_borrowed_pointer(a=&iterator::LoopState<(), ()>, b=&_)
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<(), ()>
rustc_typeck::check::autoderef: autoderef stage #0 is &iterator::LoopState<(), ()>
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<(), ()>
rustc_typeck::check::autoderef: autoderef stage #1 is iterator::LoopState<(), ()> from (&iterator::LoopState<(), ()>, Builtin)
rustc_typeck::check::coercion: coerce_borrowed_pointer: succeeded ty=&iterator::LoopState<(), ()> adjustments=[Deref(None) -> iterator::LoopState<(), ()>, Borrow(Ref('_#0r, Immutable)) -> &iterator::LoopState<(), ()>]
rustc_typeck::check: apply_adjustments(expr=expr(96: &val), adj=[Deref(None) -> iterator::LoopState<(), ()>, Borrow(Ref('_#0r, Immutable)) -> &iterator::LoopState<(), ()>])
rustc_typeck::check: checking the argument
rustc_typeck::check: >> typechecking: expr=expr(100: &LoopState::Continue(())) expected=ExpectHasType(&_)
rustc_typeck::check: >> typechecking: expr=expr(99: LoopState::Continue(())) expected=ExpectHasType(_)
rustc_typeck::check: >> typechecking: expr=expr(97: LoopState::Continue) expected=NoExpectation
rustc_typeck::check: instantiate_value_path(path=[PathSegment { name: LoopState, parameters: None, infer_types: true }, PathSegment { name: Continue, parameters: None, infer_types: true }], def=VariantCtor(DefId(0/1:10 ~ core[3d48]::iterator[0]::LoopState[0]::Continue[0]), Fn), node_id=97)
rustc_typeck::check: type_segment=Some((PathSegment { name: Continue, parameters: None, infer_types: true }, Generics { parent: None, parent_regions: 0, parent_types: 0, regions: [], types: [TypeParameterDef(C, DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]), 0), TypeParameterDef(B, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]), 1)], type_param_to_index: {DefId(0/1:14 ~ core[3d48]::iterator[0]::LoopState[0]::C[0]): 0, DefId(0/1:15 ~ core[3d48]::iterator[0]::LoopState[0]::B[0]): 1}, has_self: false, has_late_bound_regions: None })) fn_segment=None
rustc::traits::project: normalize_with_depth(depth=0, value=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::project: normalize_with_depth: depth=0 result=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_bounds(bounds=GenericPredicates([]), substs=Slice([_, _])) = InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))])
rustc_typeck::check: add_obligations_for_parameters(predicates=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc::traits::util: predicates_for_generics(generic_bounds=InstantiatedPredicates([Binder(TraitPredicate(<_ as iterator::Sized>)), Binder(TraitPredicate(<_ as iterator::Sized>))]))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth(depth=0, value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::project: normalize_with_depth: depth=0 result=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue} with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: instantiate_type_scheme(value=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}, substs=Slice([_, _])) = fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: instantiate_value_path: type of NodeId(97) is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: write_substs(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) }, Slice([_, _])) in fcx
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) }, fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}) in fcx
rustc_typeck::check: type of expr LoopState::Continue (id=97) is...
rustc_typeck::check: ... fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}, expected is NoExpectation
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::fulfill: select(obligation-forest-size=9)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=iterator::LoopState<(), ()>,depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=&_,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(7 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::autoderef: autoderef stage #0 is fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check: resolve_type_vars_with_obligations(ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(7 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}
rustc_typeck::check::callee: try_overloaded_call_step(call_expr=expr(99: LoopState::Continue(())), adjusted_ty=fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue})
rustc_typeck::check: apply_adjustments(expr=expr(97: LoopState::Continue), adj=[])
rustc::traits::project: normalize_with_depth(depth=0, value=([_]; variadic: false)->iterator::LoopState<_, _>)
rustc::traits::project: normalize_with_depth: depth=0 result=([_]; variadic: false)->iterator::LoopState<_, _> with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc_typeck::check: resolve_type_vars_with_obligations(ty=iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(7 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=iterator::LoopState<_, _>
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc::traits::fulfill: select(obligation-forest-size=2)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(2 predicates remaining, 0 errors) done
rustc_typeck::check: expected_inputs_for_expected_output(formal=[_] -> iterator::LoopState<_, _>, expected=[_] -> ExpectHasType(_))
rustc_typeck::check: register_predicate(Obligation(predicate=_,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check: check_argument_types: formal_tys=["_"]
rustc_typeck::check: check_closures=false
rustc_typeck::check: checking the argument
rustc_typeck::check: >> typechecking: expr=expr(98: ()) expected=ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(7 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(20) }, ()) in fcx
rustc_typeck::check: type of expr () (id=98) is...
rustc_typeck::check: ... (), expected is ExpectHasType(_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=_)
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(7 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=_
rustc_typeck::check: resolve_type_vars_with_obligations(ty=())
rustc_typeck::check: resolve_type_vars_with_obligations: ty=()
rustc_typeck::check::coercion: coercion::try(expr(98: ()): () -> _)
rustc_typeck::check::coercion: Coerce.tys(() => _)
rustc_typeck::check::coercion: coerce_unsized(source=(), target=_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(98: ()), adj=[])
rustc_typeck::check: check_closures=true
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::select: evaluate_obligation_conservatively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::select: evaluate_trait_predicate_recursively(Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0)) - in global
rustc::traits::select: CACHE HIT: EVAL(Binder(<() as iterator::Sized>))=EvaluatedToOk
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<() as iterator::Sized>))` at depth 0 evaluated to holds
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0), stalled_on: [] }, PendingPredicateObligation { obligation: Obligation(predicate=(),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(5 predicates remaining, 0 errors) done
rustc_typeck::check: register_predicate(Obligation(predicate=iterator::LoopState<_, _>,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=iterator::LoopState<(), _>,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(21) }, iterator::LoopState<(), _>) in fcx
rustc_typeck::check: type of expr LoopState::Continue(()) (id=99) is...
rustc_typeck::check: ... iterator::LoopState<_, _>, expected is ExpectHasType(_)
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) }, &iterator::LoopState<(), _>) in fcx
rustc_typeck::check: type of expr &LoopState::Continue(()) (id=100) is...
rustc_typeck::check: ... &iterator::LoopState<_, _>, expected is ExpectHasType(&_)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=&_)
rustc::traits::fulfill: select(obligation-forest-size=6)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(6 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=&_
rustc_typeck::check: resolve_type_vars_with_obligations(ty=&iterator::LoopState<_, _>)
rustc::traits::fulfill: select(obligation-forest-size=6)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(6 predicates remaining, 0 errors) done
rustc_typeck::check: resolve_type_vars_with_obligations: ty=&iterator::LoopState<(), _>
rustc_typeck::check::coercion: coercion::try(expr(100: &LoopState::Continue(())): &iterator::LoopState<(), _> -> &_)
rustc_typeck::check::coercion: Coerce.tys(&iterator::LoopState<(), _> => &_)
rustc_typeck::check::coercion: coerce_unsized(source=&iterator::LoopState<(), _>, target=&_)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check::coercion: coerce_borrowed_pointer(a=&iterator::LoopState<(), _>, b=&_)
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<(), _>
rustc_typeck::check::autoderef: autoderef stage #0 is &iterator::LoopState<(), _>
rustc_typeck::check::autoderef: autoderef: steps=[], cur_ty=&iterator::LoopState<(), _>
rustc_typeck::check::autoderef: autoderef stage #1 is iterator::LoopState<(), _> from (&iterator::LoopState<(), _>, Builtin)
rustc_typeck::check::coercion: coerce_borrowed_pointer: succeeded ty=&iterator::LoopState<(), _> adjustments=[Deref(None) -> iterator::LoopState<(), _>, Borrow(Ref('_#1r, Immutable)) -> &iterator::LoopState<(), _>]
rustc_typeck::check: register_predicate(Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc_typeck::check: apply_adjustments(expr=expr(100: &LoopState::Continue(())), adj=[Deref(None) -> iterator::LoopState<(), _>, Borrow(Ref('_#1r, Immutable)) -> &iterator::LoopState<(), _>])
rustc_typeck::check: check_closures=true
rustc::traits::fulfill: select(obligation-forest-size=7)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), _> as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<iterator::LoopState<(), FreshTy(0)> as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), _> as iterator::Sized>)),depth=0)))
rustc::traits::select: is_knowable(intercrate=None)
rustc::traits::select: builtin_bound: nested=Binder([])
rustc::traits::select: assemble_candidates_for_projected_tys(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), _> as iterator::Sized>)),depth=0))
rustc::traits::select: assemble_candidates_from_caller_bounds(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), _> as iterator::Sized>)),depth=0))
rustc::traits::select: match_poly_trait_ref: obligation=Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), _> as iterator::Sized>)),depth=0) poly_trait_ref=Binder(<<Self as iterator::Iterator>::Item as iterator::Sized>)
rustc::traits::select: candidate list size: 1
rustc::traits::select: assembled 1 candidates for TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), _> as iterator::Sized>)),depth=0)): [BuiltinCandidate { has_nested: false }]
rustc::traits::select: CACHE MISS: SELECT(Binder(TraitPredicate(<iterator::LoopState<(), FreshTy(0)> as iterator::Sized>)))=Ok(Some(BuiltinCandidate { has_nested: false }))
rustc::traits::select: confirm_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), _> as iterator::Sized>)),depth=0), BuiltinCandidate { has_nested: false })
rustc::traits::select: confirm_builtin_candidate(Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), _> as iterator::Sized>)),depth=0), false)
rustc::traits::select: confirm_builtin_candidate: obligations=[]
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<iterator::LoopState<(), _> as iterator::Sized>))` at depth 0 yielded Ok(Some)
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<() as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::project: normalize_with_depth(depth=0, value=Obligation(predicate=_,depth=0))
rustc::traits::project: normalize_with_depth: depth=0 result=Obligation(predicate=_,depth=0) with 0 obligations
rustc::traits::project: normalize_with_depth: depth=0 obligations=[]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=Binder(TraitPredicate(<iterator::LoopState<(), _> as iterator::Sized>)),depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::select: select(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::select: candidate_from_obligation(cache_fresh_trait_pred=Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)), obligation=TraitObligationStack(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0)))
rustc::traits::select: CACHE HIT: SELECT(Binder(TraitPredicate(<FreshTy(0) as iterator::Sized>)))=Ok(None)
rustc::traits::fulfill: selecting trait `Binder(TraitPredicate(<_ as iterator::Sized>))` at depth 0 yielded Ok(None)
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) now stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(8 predicates remaining, 0 errors) done
rustc_typeck::check: register_predicate(Obligation(predicate=bool,depth=0))
rustc::traits::fulfill: register_predicate_obligation(obligation=Obligation(predicate=bool,depth=0))
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(23) }, bool) in fcx
rustc_typeck::check: type of expr PartialEq::eq(&val, &LoopState::Continue(())) (id=101) is...
rustc_typeck::check: ... bool, expected is ExpectHasType(bool)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=bool)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=bool
rustc_typeck::check::coercion: coercion::try(expr(101: PartialEq::eq(&val, &LoopState::Continue(()))): bool -> bool)
rustc_typeck::check::coercion: Coerce.tys(bool => bool)
rustc_typeck::check::coercion: coerce_unsized(source=bool, target=bool)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(101: PartialEq::eq(&val, &LoopState::Continue(()))), adj=[])
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(24) }, bool) in fcx
rustc_typeck::check: write_ty(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(25) }, bool) in fcx
rustc_typeck::check: type of expr {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) } (id=116) is...
rustc_typeck::check: ... bool, expected is ExpectHasType(bool)
rustc_typeck::check: resolve_type_vars_with_obligations(ty=bool)
rustc_typeck::check: resolve_type_vars_with_obligations: ty=bool
rustc_typeck::check::coercion: coercion::try(expr(116: {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) }): bool -> bool)
rustc_typeck::check::coercion: Coerce.tys(bool => bool)
rustc_typeck::check::coercion: coerce_unsized(source=bool, target=bool)
rustc_typeck::check::coercion: Missing Unsize or CoerceUnsized traits
rustc_typeck::check::coercion: coerce: unsize failed
rustc_typeck::check: apply_adjustments(expr=expr(116: {
let val =
if false { LoopState::Continue(()) } else { LoopState::Break(()) };
PartialEq::eq(&val, &LoopState::Continue(())) }), adj=[])
rustc::traits::fulfill: select(obligation-forest-size=9)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [PendingPredicateObligation { obligation: Obligation(predicate=bool,depth=0), stalled_on: [] }], errors: [], stalled: false }
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(8 predicates remaining, 0 errors) done
rustc::traits::fulfill: select(obligation-forest-size=8)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(8 predicates remaining, 0 errors) done
rustc_typeck::check: select_all_obligations_or_error
rustc::traits::fulfill: select(obligation-forest-size=8)
rustc::traits::fulfill: select: starting another iteration
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0) still stalled on [_, _]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0) still stalled on [_]
rustc::traits::fulfill: process_predicate: pending obligation Obligation(predicate=_,depth=0) still stalled on [_]
rustc::traits::fulfill: select: outcome=Outcome { completed: [], errors: [], stalled: true }
rustc::traits::fulfill: select(8 predicates remaining, 0 errors) done
rustc::traits::error_reporting: report_fulfillment_errors(FulfillmentError(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0),Ambiguity))
rustc::traits::error_reporting: maybe_report_ambiguity(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)), obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
error[E0282]: type annotations needed
--> src/iterator.rs:37:30
|
37 | PartialEq::eq(&val, &LoopState::Continue(()))
| ^^^^^^^^^^^^^^^^^^^ cannot infer type for `B`
rustc::traits::error_reporting: report_fulfillment_errors(FulfillmentError(Obligation(predicate=_,depth=0),Ambiguity))
rustc::traits::error_reporting: maybe_report_ambiguity(predicate=_, obligation=Obligation(predicate=_,depth=0))
rustc::traits::error_reporting: report_fulfillment_errors(FulfillmentError(Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0),Ambiguity))
rustc::traits::error_reporting: maybe_report_ambiguity(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }), obligation=Obligation(predicate=Binder(SubtypePredicate { a_is_expected: false, a: _, b: _ }),depth=0))
rustc::traits::error_reporting: report_fulfillment_errors(FulfillmentError(Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0),Ambiguity))
rustc::traits::error_reporting: maybe_report_ambiguity(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)), obligation=Obligation(predicate=Binder(TraitPredicate(<_ as iterator::Sized>)),depth=0))
rustc::traits::error_reporting: report_fulfillment_errors(FulfillmentError(Obligation(predicate=_,depth=0),Ambiguity))
rustc::traits::error_reporting: maybe_report_ambiguity(predicate=_, obligation=Obligation(predicate=_,depth=0))
rustc_typeck::check::regionck: regionck_fn(id=73)
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(26) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(26) }, &mut Self)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(26) } has type &mut Self
rustc_typeck::check::writeback: No pat_adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(27) }
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(27) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(27) }, &mut Self)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(27) } has type &mut Self
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(25) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(25) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(25) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(24) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(24) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(24) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(14) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(14) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(14) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(13) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(13) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(13) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(12) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(12) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(12) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(11) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(11) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(11) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(10) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(10) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(10) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) }, fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue})
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) } has type fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue}
rustc_typeck::check::writeback: write_substs_to_tcx(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(8) }, Slice([(), ()]))
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(9) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(9) }, ())
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(9) } has type ()
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(7) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(7) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(7) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(6) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(6) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(6) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(5) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(5) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(5) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) }, fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break})
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) } has type fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break}
rustc_typeck::check::writeback: write_substs_to_tcx(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(3) }, Slice([(), ()]))
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(4) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(4) }, ())
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(4) } has type ()
rustc_typeck::check::writeback: No pat_adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) }
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(2) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(1) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(23) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(23) }, bool)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(23) } has type bool
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) }
rustc_typeck::check::writeback: Resolver::fold_ty: input type `for<'r, 's> fn(&'r _, &'s _) -> bool {<_ as iterator::PartialEq<_>>::eq}` not fully resolvable
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) }, [type error])
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) } has type [type error]
rustc_typeck::check::writeback: Resolver::fold_ty: input type `_` not fully resolvable
rustc_typeck::check::writeback: write_substs_to_tcx(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(16) }, Slice([iterator::LoopState<(), ()>, [type error]]))
rustc_typeck::check::writeback: Adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) }: [Deref(None) -> iterator::LoopState<(), ()>, Borrow(Ref(ReEmpty, Immutable)) -> &'<empty> iterator::LoopState<(), ()>]
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) }, &'<empty> iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(18) } has type &'<empty> iterator::LoopState<(), ()>
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(17) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(17) }, iterator::LoopState<(), ()>)
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(17) } has type iterator::LoopState<(), ()>
rustc_typeck::check::writeback: Resolver::fold_ty: input type `iterator::LoopState<(), _>` not fully resolvable
rustc_typeck::check::writeback: Resolver::fold_ty: input type `&iterator::LoopState<(), _>` not fully resolvable
rustc_typeck::check::writeback: Adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) }: [Deref(None) -> [type error], Borrow(Ref(ReEmpty, Immutable)) -> [type error]]
rustc_typeck::check::writeback: Resolver::fold_ty: input type `&iterator::LoopState<_, _>` not fully resolvable
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) }, [type error])
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(22) } has type [type error]
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(21) }
rustc_typeck::check::writeback: Resolver::fold_ty: input type `iterator::LoopState<_, _>` not fully resolvable
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(21) }, [type error])
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(21) } has type [type error]
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) }
rustc_typeck::check::writeback: Resolver::fold_ty: input type `fn(_) -> iterator::LoopState<_, _> {iterator::LoopState<_, _>::Continue}` not fully resolvable
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) }, [type error])
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) } has type [type error]
rustc_typeck::check::writeback: Resolver::fold_ty: input type `_` not fully resolvable
rustc_typeck::check::writeback: write_substs_to_tcx(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(19) }, Slice([(), [type error]]))
rustc_typeck::check::writeback: No adjustments for node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(20) }
rustc_typeck::check::writeback: write_ty_to_tables(HirId { owner: DefIndex(0:14), local_id: ItemLocalId(20) }, ())
rustc_typeck::check::writeback: Node HirId { owner: DefIndex(0:14), local_id: ItemLocalId(20) } has type ()
rustc_typeck::check::writeback: used_trait_imports(DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0])) = {}
rustc_typeck::check::writeback: writeback: tables for DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0]) are TypeckTables {
local_id_root: Some(
DefId(0/0:14 ~ core[3d48]::iterator[0]::Iterator[0]::all[0])
),
type_dependent_defs: {},
user_provided_tys: {},
node_types: {
ItemLocalId(
26
): &mut Self,
ItemLocalId(
23
): bool,
ItemLocalId(
20
): (),
ItemLocalId(
17
): iterator::LoopState<(), ()>,
ItemLocalId(
14
): iterator::LoopState<(), ()>,
ItemLocalId(
11
): iterator::LoopState<(), ()>,
ItemLocalId(
8
): fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Continue},
ItemLocalId(
5
): iterator::LoopState<(), ()>,
ItemLocalId(
2
): iterator::LoopState<(), ()>,
ItemLocalId(
25
): bool,
ItemLocalId(
22
): [type error],
ItemLocalId(
19
): [type error],
ItemLocalId(
16
): [type error],
ItemLocalId(
13
): bool,
ItemLocalId(
10
): iterator::LoopState<(), ()>,
ItemLocalId(
7
): iterator::LoopState<(), ()>,
ItemLocalId(
4
): (),
ItemLocalId(
1
): iterator::LoopState<(), ()>,
ItemLocalId(
27
): &mut Self,
ItemLocalId(
24
): bool,
ItemLocalId(
21
): [type error],
ItemLocalId(
18
): &'<empty> iterator::LoopState<(), ()>,
ItemLocalId(
12
): iterator::LoopState<(), ()>,
ItemLocalId(
9
): (),
ItemLocalId(
6
): iterator::LoopState<(), ()>,
ItemLocalId(
3
): fn(()) -> iterator::LoopState<(), ()> {iterator::LoopState<(), ()>::Break}
},
node_substs: {
ItemLocalId(
8
): Slice(
[
(),
()
]
),
ItemLocalId(
19
): Slice(
[
(),
[type error]
]
),
ItemLocalId(
16
): Slice(
[
iterator::LoopState<(), ()>,
[type error]
]
),
ItemLocalId(
3
): Slice(
[
(),
()
]
)
},
adjustments: {
ItemLocalId(
22
): [
Deref(None) -> [type error],
Borrow(Ref(ReEmpty, Immutable)) -> [type error]
],
ItemLocalId(
18
): [
Deref(None) -> iterator::LoopState<(), ()>,
Borrow(Ref(ReEmpty, Immutable)) -> &'<empty> iterator::LoopState<(), ()>
]
},
pat_binding_modes: {
ItemLocalId(
2
): BindByValue(
MutImmutable
),
ItemLocalId(
27
): BindByValue(
MutImmutable
)
},
pat_adjustments: {},
upvar_capture_map: {},
closure_kind_origins: {},
liberated_fn_sigs: {
ItemLocalId(
0
): ([&mut Self]; variadic: false)->bool
},
fru_field_types: {},
cast_kinds: {},
used_trait_imports: {},
tainted_by_errors: true,
free_region_map: FreeRegionMap {
relation: TransitiveRelation {
elements: [],
map: {},
edges: [],
closure: Lock(
RefCell {
value: None
}
)
}
}
}
error: aborting due to previous error
For more information about this error, try `rustc --explain E0282`.
error: Could not compile `core`.
Caused by:
process didn't exit successfully: `rustc --crate-name core src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=dc98e8200778de86 -C extra-filename=-dc98e8200778de86 --out-dir /Users/tyler/code/rust/rust-core-template/target/debug/deps -C incremental=/Users/tyler/code/rust/rust-core-template/target/debug/incremental -L dependency=/Users/tyler/code/rust/rust-core-template/target/debug/deps` (exit code: 101)
@tmandry
Copy link
Author

tmandry commented Apr 8, 2018

The log files are vimdiff-ready, I removed all the timestamps and memory addresses.
I believe "the answer" should be apparent somewhere around log2_nightly.txt:2786 vs log2_stage1.txt:2288. The nightly has an additional obligation that allows the solver to make progress. Beyond that, I'm not knowledgeable enough about the inference engine to understand what each step means :)

To reproduce:

  • iterator.rs is all you need, just stick it in rust-core-template/src/ and comment out all other modules.
  • Branch for "stage1": https://github.com/tmandry/rust/tree/debug-predicates-of
  • Commit for "nightly": HEAD~1 on that branch
  • env RUST_LOG=rustc_typeck::check,rustc::traits rustup run stage1 cargo build -v

Error message from stage1:

     Running `rustc --crate-name core src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=dc98e8200778de86 -C extra-filename=-dc98e8200778de86 --out-dir /Users/tyler/code/rust/rust-core-template/target/debug/deps -C incremental=/Users/tyler/code/rust/rust-core-template/target/debug/incremental -L dependency=/Users/tyler/code/rust/rust-core-template/target/debug/deps`
error[E0282]: type annotations needed
  --> src/iterator.rs:37:30
   |
37 |         PartialEq::eq(&val, &LoopState::Continue(()))
   |                              ^^^^^^^^^^^^^^^^^^^ cannot infer type for `B`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0282`.
error: Could not compile `core`.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment