{"abstract":"Iterator yield summary loses one backing-storage origin.","category":"Borrow checking","checks":21,"contract":"Check iterator lifetime summaries. Yielded shared items borrow backing storage; lending items borrow the iterator until next call; mutable yields must have disjoint element footprints; next consumes the prior lending-item loan; double-ended iteration cannot yield a crossed element twice; chunked iteration retains remainder ownership; adapter closures cannot extend item lifetime; collection of lending references cannot outlive iteration; empty iterator yields no loan; iterator destruction releases its backing borrow but not independently owned items. Input is a fully explicit descriptor of the stated toy IR. Return rule identifiers in declaration order; absent optional obligations use the provided neutral defaults. No rule is an assertion about a production language.","evaluation_group":"s3-borrow-checking-borrowed-iterators","failed_approach":"The partial repair uses if not d['backing_origins'] and bool(d['yield_origins']): errors.append('yield-origin'), which still violates the stipulated analysis contract.","family":"s3-borrow-checking-borrowed-iterators-yield-origin","id":"FA-43941","implementations":{"attempt":{"sha256":"e430c037a3fc0130c9b4610c323bdefba1f0d1798627a59b9479a4b1895db71a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    errors=[]\n    if not d['backing_origins'] and bool(d['yield_origins']): errors.append('yield-origin')\n    if d['lending'] and d['item_end']>d['next_point']: errors.append('lending-call-bound')\n    if d['mutable'] and bool(set(d['yield_a'])&set(d['yield_b'])): errors.append('mutable-yield-disjoint')\n    if d['next_called'] and d['prior_lending_live']: errors.append('next-reborrow-kill')\n    if bool(set(d['front_indices'])&set(d['back_indices'])): errors.append('double-ended-crossing')\n    if not set(d['remainder'])<=set(d['accounted']): errors.append('chunk-remainder')\n    if d['adapter_bound']>d['item_bound']: errors.append('adapter-lifetime')\n    if d['collected'] and d['collection_end']>d['iteration_end']: errors.append('lending-collection')\n    if d['empty'] and bool(d['yielded_loans']): errors.append('empty-yield')\n    if d['destroyed'] and bool(set(d['owned_items'])&set(d['invalidated_items'])): errors.append('iterator-drop-owned-items')\n    return errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nbase={'yield_origins': [], 'backing_origins': [], 'lending': False, 'item_end': 0, 'next_point': 0, 'yield_a': [], 'yield_b': [], 'mutable': False, 'prior_lending_live': False, 'next_called': False, 'front_indices': [], 'back_indices': [], 'remainder': [], 'accounted': [], 'adapter_bound': 0, 'item_bound': 0, 'collected': False, 'collection_end': 0, 'iteration_end': 0, 'empty': False, 'yielded_loans': [], 'destroyed': False, 'backing_live': False, 'owned_items': [], 'invalidated_items': []}\ncheck('well formed empty obligations',solve(base),[])\ncheck('yield-origin regression 0', solve(dict(base, **({'yield_origins':['a','b'],'backing_origins':['a']}))), ['yield-origin'])\ncheck('yield-origin regression 1', solve(dict(base, **({'yield_origins':[N,N+1],'backing_origins':[N]}))), ['yield-origin'])\ncheck('lending-call-bound regression 0', solve(dict(base, **({'lending':True,'item_end':N+1,'next_point':N}))), ['lending-call-bound'])\ncheck('lending-call-bound regression 1', solve(dict(base, **({'lending':True,'item_end':N+2,'next_point':N+1}))), ['lending-call-bound'])\ncheck('mutable-yield-disjoint regression 0', solve(dict(base, **({'mutable':True,'yield_a':[N,N+1],'yield_b':[N]}))), ['mutable-yield-disjoint'])\ncheck('mutable-yield-disjoint regression 1', solve(dict(base, **({'mutable':True,'yield_a':[N],'yield_b':[N,N+1]}))), ['mutable-yield-disjoint'])\ncheck('next-reborrow-kill regression 0', solve(dict(base, **({'next_called':True,'prior_lending_live':True}))), ['next-reborrow-kill'])\ncheck('next-reborrow-kill regression 1', solve(dict(base, **({'next_called':True,'prior_lending_live':True,'next_point':N}))), ['next-reborrow-kill'])\ncheck('double-ended-crossing regression 0', solve(dict(base, **({'front_indices':[N,N+1],'back_indices':[N+1]}))), ['double-ended-crossing'])\ncheck('double-ended-crossing regression 1', solve(dict(base, **({'front_indices':[N],'back_indices':[N,N+1]}))), ['double-ended-crossing'])\ncheck('chunk-remainder regression 0', solve(dict(base, **({'remainder':[N,N+1],'accounted':[N]}))), ['chunk-remainder'])\ncheck('chunk-remainder regression 1', solve(dict(base, **({'remainder':list(range(N+1)),'accounted':[0]}))), ['chunk-remainder'])\ncheck('adapter-lifetime regression 0', solve(dict(base, **({'adapter_bound':N+1,'item_bound':N}))), ['adapter-lifetime'])\ncheck('adapter-lifetime regression 1', solve(dict(base, **({'adapter_bound':N+2,'item_bound':N+1}))), ['adapter-lifetime'])\ncheck('lending-collection regression 0', solve(dict(base, **({'collected':True,'collection_end':N+1,'iteration_end':N}))), ['lending-collection'])\ncheck('lending-collection regression 1', solve(dict(base, **({'collected':True,'collection_end':N+2,'iteration_end':N+1}))), ['lending-collection'])\ncheck('empty-yield regression 0', solve(dict(base, **({'empty':True,'yielded_loans':['r']}))), ['empty-yield'])\ncheck('empty-yield regression 1', solve(dict(base, **({'empty':True,'yielded_loans':[N]}))), ['empty-yield'])\ncheck('iterator-drop-owned-items regression 0', solve(dict(base, **({'destroyed':True,'owned_items':['x'],'invalidated_items':['x']}))), ['iterator-drop-owned-items'])\ncheck('iterator-drop-owned-items regression 1', solve(dict(base, **({'destroyed':True,'owned_items':[N],'invalidated_items':[N]}))), ['iterator-drop-owned-items'])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"e5a2ef492ba2c36f7426965ec9e4a02d516a697fdf3976a9caef8402d9bf4314","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    errors=[]\n    if False: errors.append('yield-origin')\n    if d['lending'] and d['item_end']>d['next_point']: errors.append('lending-call-bound')\n    if d['mutable'] and bool(set(d['yield_a'])&set(d['yield_b'])): errors.append('mutable-yield-disjoint')\n    if d['next_called'] and d['prior_lending_live']: errors.append('next-reborrow-kill')\n    if bool(set(d['front_indices'])&set(d['back_indices'])): errors.append('double-ended-crossing')\n    if not set(d['remainder'])<=set(d['accounted']): errors.append('chunk-remainder')\n    if d['adapter_bound']>d['item_bound']: errors.append('adapter-lifetime')\n    if d['collected'] and d['collection_end']>d['iteration_end']: errors.append('lending-collection')\n    if d['empty'] and bool(d['yielded_loans']): errors.append('empty-yield')\n    if d['destroyed'] and bool(set(d['owned_items'])&set(d['invalidated_items'])): errors.append('iterator-drop-owned-items')\n    return errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nbase={'yield_origins': [], 'backing_origins': [], 'lending': False, 'item_end': 0, 'next_point': 0, 'yield_a': [], 'yield_b': [], 'mutable': False, 'prior_lending_live': False, 'next_called': False, 'front_indices': [], 'back_indices': [], 'remainder': [], 'accounted': [], 'adapter_bound': 0, 'item_bound': 0, 'collected': False, 'collection_end': 0, 'iteration_end': 0, 'empty': False, 'yielded_loans': [], 'destroyed': False, 'backing_live': False, 'owned_items': [], 'invalidated_items': []}\ncheck('well formed empty obligations',solve(base),[])\ncheck('yield-origin regression 0', solve(dict(base, **({'yield_origins':['a','b'],'backing_origins':['a']}))), ['yield-origin'])\ncheck('yield-origin regression 1', solve(dict(base, **({'yield_origins':[N,N+1],'backing_origins':[N]}))), ['yield-origin'])\ncheck('lending-call-bound regression 0', solve(dict(base, **({'lending':True,'item_end':N+1,'next_point':N}))), ['lending-call-bound'])\ncheck('lending-call-bound regression 1', solve(dict(base, **({'lending':True,'item_end':N+2,'next_point':N+1}))), ['lending-call-bound'])\ncheck('mutable-yield-disjoint regression 0', solve(dict(base, **({'mutable':True,'yield_a':[N,N+1],'yield_b':[N]}))), ['mutable-yield-disjoint'])\ncheck('mutable-yield-disjoint regression 1', solve(dict(base, **({'mutable':True,'yield_a':[N],'yield_b':[N,N+1]}))), ['mutable-yield-disjoint'])\ncheck('next-reborrow-kill regression 0', solve(dict(base, **({'next_called':True,'prior_lending_live':True}))), ['next-reborrow-kill'])\ncheck('next-reborrow-kill regression 1', solve(dict(base, **({'next_called':True,'prior_lending_live':True,'next_point':N}))), ['next-reborrow-kill'])\ncheck('double-ended-crossing regression 0', solve(dict(base, **({'front_indices':[N,N+1],'back_indices':[N+1]}))), ['double-ended-crossing'])\ncheck('double-ended-crossing regression 1', solve(dict(base, **({'front_indices':[N],'back_indices':[N,N+1]}))), ['double-ended-crossing'])\ncheck('chunk-remainder regression 0', solve(dict(base, **({'remainder':[N,N+1],'accounted':[N]}))), ['chunk-remainder'])\ncheck('chunk-remainder regression 1', solve(dict(base, **({'remainder':list(range(N+1)),'accounted':[0]}))), ['chunk-remainder'])\ncheck('adapter-lifetime regression 0', solve(dict(base, **({'adapter_bound':N+1,'item_bound':N}))), ['adapter-lifetime'])\ncheck('adapter-lifetime regression 1', solve(dict(base, **({'adapter_bound':N+2,'item_bound':N+1}))), ['adapter-lifetime'])\ncheck('lending-collection regression 0', solve(dict(base, **({'collected':True,'collection_end':N+1,'iteration_end':N}))), ['lending-collection'])\ncheck('lending-collection regression 1', solve(dict(base, **({'collected':True,'collection_end':N+2,'iteration_end':N+1}))), ['lending-collection'])\ncheck('empty-yield regression 0', solve(dict(base, **({'empty':True,'yielded_loans':['r']}))), ['empty-yield'])\ncheck('empty-yield regression 1', solve(dict(base, **({'empty':True,'yielded_loans':[N]}))), ['empty-yield'])\ncheck('iterator-drop-owned-items regression 0', solve(dict(base, **({'destroyed':True,'owned_items':['x'],'invalidated_items':['x']}))), ['iterator-drop-owned-items'])\ncheck('iterator-drop-owned-items regression 1', solve(dict(base, **({'destroyed':True,'owned_items':[N],'invalidated_items':[N]}))), ['iterator-drop-owned-items'])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"823152520bf9a812147baf7d5ac93ee9cce3f0701272736156f0a92269dd0af9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    errors=[]\n    if not set(d['yield_origins'])<=set(d['backing_origins']): errors.append('yield-origin')\n    if d['lending'] and d['item_end']>d['next_point']: errors.append('lending-call-bound')\n    if d['mutable'] and bool(set(d['yield_a'])&set(d['yield_b'])): errors.append('mutable-yield-disjoint')\n    if d['next_called'] and d['prior_lending_live']: errors.append('next-reborrow-kill')\n    if bool(set(d['front_indices'])&set(d['back_indices'])): errors.append('double-ended-crossing')\n    if not set(d['remainder'])<=set(d['accounted']): errors.append('chunk-remainder')\n    if d['adapter_bound']>d['item_bound']: errors.append('adapter-lifetime')\n    if d['collected'] and d['collection_end']>d['iteration_end']: errors.append('lending-collection')\n    if d['empty'] and bool(d['yielded_loans']): errors.append('empty-yield')\n    if d['destroyed'] and bool(set(d['owned_items'])&set(d['invalidated_items'])): errors.append('iterator-drop-owned-items')\n    return errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nbase={'yield_origins': [], 'backing_origins': [], 'lending': False, 'item_end': 0, 'next_point': 0, 'yield_a': [], 'yield_b': [], 'mutable': False, 'prior_lending_live': False, 'next_called': False, 'front_indices': [], 'back_indices': [], 'remainder': [], 'accounted': [], 'adapter_bound': 0, 'item_bound': 0, 'collected': False, 'collection_end': 0, 'iteration_end': 0, 'empty': False, 'yielded_loans': [], 'destroyed': False, 'backing_live': False, 'owned_items': [], 'invalidated_items': []}\ncheck('well formed empty obligations',solve(base),[])\ncheck('yield-origin regression 0', solve(dict(base, **({'yield_origins':['a','b'],'backing_origins':['a']}))), ['yield-origin'])\ncheck('yield-origin regression 1', solve(dict(base, **({'yield_origins':[N,N+1],'backing_origins':[N]}))), ['yield-origin'])\ncheck('lending-call-bound regression 0', solve(dict(base, **({'lending':True,'item_end':N+1,'next_point':N}))), ['lending-call-bound'])\ncheck('lending-call-bound regression 1', solve(dict(base, **({'lending':True,'item_end':N+2,'next_point':N+1}))), ['lending-call-bound'])\ncheck('mutable-yield-disjoint regression 0', solve(dict(base, **({'mutable':True,'yield_a':[N,N+1],'yield_b':[N]}))), ['mutable-yield-disjoint'])\ncheck('mutable-yield-disjoint regression 1', solve(dict(base, **({'mutable':True,'yield_a':[N],'yield_b':[N,N+1]}))), ['mutable-yield-disjoint'])\ncheck('next-reborrow-kill regression 0', solve(dict(base, **({'next_called':True,'prior_lending_live':True}))), ['next-reborrow-kill'])\ncheck('next-reborrow-kill regression 1', solve(dict(base, **({'next_called':True,'prior_lending_live':True,'next_point':N}))), ['next-reborrow-kill'])\ncheck('double-ended-crossing regression 0', solve(dict(base, **({'front_indices':[N,N+1],'back_indices':[N+1]}))), ['double-ended-crossing'])\ncheck('double-ended-crossing regression 1', solve(dict(base, **({'front_indices':[N],'back_indices':[N,N+1]}))), ['double-ended-crossing'])\ncheck('chunk-remainder regression 0', solve(dict(base, **({'remainder':[N,N+1],'accounted':[N]}))), ['chunk-remainder'])\ncheck('chunk-remainder regression 1', solve(dict(base, **({'remainder':list(range(N+1)),'accounted':[0]}))), ['chunk-remainder'])\ncheck('adapter-lifetime regression 0', solve(dict(base, **({'adapter_bound':N+1,'item_bound':N}))), ['adapter-lifetime'])\ncheck('adapter-lifetime regression 1', solve(dict(base, **({'adapter_bound':N+2,'item_bound':N+1}))), ['adapter-lifetime'])\ncheck('lending-collection regression 0', solve(dict(base, **({'collected':True,'collection_end':N+1,'iteration_end':N}))), ['lending-collection'])\ncheck('lending-collection regression 1', solve(dict(base, **({'collected':True,'collection_end':N+2,'iteration_end':N+1}))), ['lending-collection'])\ncheck('empty-yield regression 0', solve(dict(base, **({'empty':True,'yielded_loans':['r']}))), ['empty-yield'])\ncheck('empty-yield regression 1', solve(dict(base, **({'empty':True,'yielded_loans':[N]}))), ['empty-yield'])\ncheck('iterator-drop-owned-items regression 0', solve(dict(base, **({'destroyed':True,'owned_items':['x'],'invalidated_items':['x']}))), ['iterator-drop-owned-items'])\ncheck('iterator-drop-owned-items regression 1', solve(dict(base, **({'destroyed':True,'owned_items':[N],'invalidated_items':[N]}))), ['iterator-drop-owned-items'])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"The explicitly stated toy language is the complete scope; this is not a production compiler or a claim about Rust semantics. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-borrow-checking-borrowed-iterators-yield-origin","generated_at":"2026-09-29T14:44:07.132873+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A finite offline static-analysis model of ownership and borrowing; it does not execute the analyzed program.","repair":"Apply the specified transfer or inference rule at this site: if not set(d['yield_origins'])<=set(d['backing_origins']): errors.append('yield-origin').","root_cause":"The static analyzer mishandles yield origin: iterator yield summary loses one backing-storage origin.","sha256":"6a79595694ab66d0675d75391d19fc3cd7b0d168c19e503b81be48cefc791908","title":"Iterator yield summary loses one backing-storage origin · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":46.235,"exit_code":1,"observations":[{"actual":[],"check":"well formed empty obligations","expected":[],"passed":true},{"actual":[],"check":"yield-origin regression 0","expected":["yield-origin"],"passed":false},{"actual":[],"check":"yield-origin regression 1","expected":["yield-origin"],"passed":false},{"actual":["lending-call-bound"],"check":"lending-call-bound regression 0","expected":["lending-call-bound"],"passed":true},{"actual":["lending-call-bound"],"check":"lending-call-bound regression 1","expected":["lending-call-bound"],"passed":true},{"actual":["mutable-yield-disjoint"],"check":"mutable-yield-disjoint regression 0","expected":["mutable-yield-disjoint"],"passed":true},{"actual":["mutable-yield-disjoint"],"check":"mutable-yield-disjoint regression 1","expected":["mutable-yield-disjoint"],"passed":true},{"actual":["next-reborrow-kill"],"check":"next-reborrow-kill regression 0","expected":["next-reborrow-kill"],"passed":true},{"actual":["next-reborrow-kill"],"check":"next-reborrow-kill regression 1","expected":["next-reborrow-kill"],"passed":true},{"actual":["double-ended-crossing"],"check":"double-ended-crossing regression 0","expected":["double-ended-crossing"],"passed":true},{"actual":["double-ended-crossing"],"check":"double-ended-crossing regression 1","expected":["double-ended-crossing"],"passed":true},{"actual":["chunk-remainder"],"check":"chunk-remainder regression 0","expected":["chunk-remainder"],"passed":true},{"actual":["chunk-remainder"],"check":"chunk-remainder regression 1","expected":["chunk-remainder"],"passed":true},{"actual":["adapter-lifetime"],"check":"adapter-lifetime regression 0","expected":["adapter-lifetime"],"passed":true},{"actual":["adapter-lifetime"],"check":"adapter-lifetime regression 1","expected":["adapter-lifetime"],"passed":true},{"actual":["lending-collection"],"check":"lending-collection regression 0","expected":["lending-collection"],"passed":true},{"actual":["lending-collection"],"check":"lending-collection regression 1","expected":["lending-collection"],"passed":true},{"actual":["empty-yield"],"check":"empty-yield regression 0","expected":["empty-yield"],"passed":true},{"actual":["empty-yield"],"check":"empty-yield regression 1","expected":["empty-yield"],"passed":true},{"actual":["iterator-drop-owned-items"],"check":"iterator-drop-owned-items regression 0","expected":["iterator-drop-owned-items"],"passed":true},{"actual":["iterator-drop-owned-items"],"check":"iterator-drop-owned-items regression 1","expected":["iterator-drop-owned-items"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"well formed empty obligations\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"yield-origin regression 0\", \"actual\": [], \"expected\": [\"yield-origin\"], \"passed\": false}, {\"check\": \"yield-origin regression 1\", \"actual\": [], \"expected\": [\"yield-origin\"], \"passed\": false}, {\"check\": \"lending-call-bound regression 0\", \"actual\": [\"lending-call-bound\"], \"expected\": [\"lending-call-bound\"], \"passed\": true}, {\"check\": \"lending-call-bound regression 1\", \"actual\": [\"lending-call-bound\"], \"expected\": [\"lending-call-bound\"], \"passed\": true}, {\"check\": \"mutable-yield-disjoint regression 0\", \"actual\": [\"mutable-yield-disjoint\"], \"expected\": [\"mutable-yield-disjoint\"], \"passed\": true}, {\"check\": \"mutable-yield-disjoint regression 1\", \"actual\": [\"mutable-yield-disjoint\"], \"expected\": [\"mutable-yield-disjoint\"], \"passed\": true}, {\"check\": \"next-reborrow-kill regression 0\", \"actual\": [\"next-reborrow-kill\"], \"expected\": [\"next-reborrow-kill\"], \"passed\": true}, {\"check\": \"next-reborrow-kill regression 1\", \"actual\": [\"next-reborrow-kill\"], \"expected\": [\"next-reborrow-kill\"], \"passed\": true}, {\"check\": \"double-ended-crossing regression 0\", \"actual\": [\"double-ended-crossing\"], \"expected\": [\"double-ended-crossing\"], \"passed\": true}, {\"check\": \"double-ended-crossing regression 1\", \"actual\": [\"double-ended-crossing\"], \"expected\": [\"double-ended-crossing\"], \"passed\": true}, {\"check\": \"chunk-remainder regression 0\", \"actual\": [\"chunk-remainder\"], \"expected\": [\"chunk-remainder\"], \"passed\": true}, {\"check\": \"chunk-remainder regression 1\", \"actual\": [\"chunk-remainder\"], \"expected\": [\"chunk-remainder\"], \"passed\": true}, {\"check\": \"adapter-lifetime regression 0\", \"actual\": [\"adapter-lifetime\"], \"expected\": [\"adapter-lifetime\"], \"passed\": true}, {\"check\": \"adapter-lifetime regression 1\", \"actual\": [\"adapter-lifetime\"], \"expected\": [\"adapter-lifetime\"], \"passed\": true}, {\"check\": \"lending-collection regression 0\", \"actual\": [\"lending-collection\"], \"expected\": [\"lending-collection\"], \"passed\": true}, {\"check\": \"lending-collection regression 1\", \"actual\": [\"lending-collection\"], \"expected\": [\"lending-collection\"], \"passed\": true}, {\"check\": \"empty-yield regression 0\", \"actual\": [\"empty-yield\"], \"expected\": [\"empty-yield\"], \"passed\": true}, {\"check\": \"empty-yield regression 1\", \"actual\": [\"empty-yield\"], \"expected\": [\"empty-yield\"], \"passed\": true}, {\"check\": \"iterator-drop-owned-items regression 0\", \"actual\": [\"iterator-drop-owned-items\"], \"expected\": [\"iterator-drop-owned-items\"], \"passed\": true}, {\"check\": \"iterator-drop-owned-items regression 1\", \"actual\": [\"iterator-drop-owned-items\"], \"expected\": [\"iterator-drop-owned-items\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.572,"exit_code":1,"observations":[{"actual":[],"check":"well formed empty obligations","expected":[],"passed":true},{"actual":[],"check":"yield-origin regression 0","expected":["yield-origin"],"passed":false},{"actual":[],"check":"yield-origin regression 1","expected":["yield-origin"],"passed":false},{"actual":["lending-call-bound"],"check":"lending-call-bound regression 0","expected":["lending-call-bound"],"passed":true},{"actual":["lending-call-bound"],"check":"lending-call-bound regression 1","expected":["lending-call-bound"],"passed":true},{"actual":["mutable-yield-disjoint"],"check":"mutable-yield-disjoint regression 0","expected":["mutable-yield-disjoint"],"passed":true},{"actual":["mutable-yield-disjoint"],"check":"mutable-yield-disjoint regression 1","expected":["mutable-yield-disjoint"],"passed":true},{"actual":["next-reborrow-kill"],"check":"next-reborrow-kill regression 0","expected":["next-reborrow-kill"],"passed":true},{"actual":["next-reborrow-kill"],"check":"next-reborrow-kill regression 1","expected":["next-reborrow-kill"],"passed":true},{"actual":["double-ended-crossing"],"check":"double-ended-crossing regression 0","expected":["double-ended-crossing"],"passed":true},{"actual":["double-ended-crossing"],"check":"double-ended-crossing regression 1","expected":["double-ended-crossing"],"passed":true},{"actual":["chunk-remainder"],"check":"chunk-remainder regression 0","expected":["chunk-remainder"],"passed":true},{"actual":["chunk-remainder"],"check":"chunk-remainder regression 1","expected":["chunk-remainder"],"passed":true},{"actual":["adapter-lifetime"],"check":"adapter-lifetime regression 0","expected":["adapter-lifetime"],"passed":true},{"actual":["adapter-lifetime"],"check":"adapter-lifetime regression 1","expected":["adapter-lifetime"],"passed":true},{"actual":["lending-collection"],"check":"lending-collection regression 0","expected":["lending-collection"],"passed":true},{"actual":["lending-collection"],"check":"lending-collection regression 1","expected":["lending-collection"],"passed":true},{"actual":["empty-yield"],"check":"empty-yield regression 0","expected":["empty-yield"],"passed":true},{"actual":["empty-yield"],"check":"empty-yield regression 1","expected":["empty-yield"],"passed":true},{"actual":["iterator-drop-owned-items"],"check":"iterator-drop-owned-items regression 0","expected":["iterator-drop-owned-items"],"passed":true},{"actual":["iterator-drop-owned-items"],"check":"iterator-drop-owned-items regression 1","expected":["iterator-drop-owned-items"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"well formed empty obligations\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"yield-origin regression 0\", \"actual\": [], \"expected\": [\"yield-origin\"], \"passed\": false}, {\"check\": \"yield-origin regression 1\", \"actual\": [], \"expected\": [\"yield-origin\"], \"passed\": false}, {\"check\": \"lending-call-bound regression 0\", \"actual\": [\"lending-call-bound\"], \"expected\": [\"lending-call-bound\"], \"passed\": true}, {\"check\": \"lending-call-bound regression 1\", \"actual\": [\"lending-call-bound\"], \"expected\": [\"lending-call-bound\"], \"passed\": true}, {\"check\": \"mutable-yield-disjoint regression 0\", \"actual\": [\"mutable-yield-disjoint\"], \"expected\": [\"mutable-yield-disjoint\"], \"passed\": true}, {\"check\": \"mutable-yield-disjoint regression 1\", \"actual\": [\"mutable-yield-disjoint\"], \"expected\": [\"mutable-yield-disjoint\"], \"passed\": true}, {\"check\": \"next-reborrow-kill regression 0\", \"actual\": [\"next-reborrow-kill\"], \"expected\": [\"next-reborrow-kill\"], \"passed\": true}, {\"check\": \"next-reborrow-kill regression 1\", \"actual\": [\"next-reborrow-kill\"], \"expected\": [\"next-reborrow-kill\"], \"passed\": true}, {\"check\": \"double-ended-crossing regression 0\", \"actual\": [\"double-ended-crossing\"], \"expected\": [\"double-ended-crossing\"], \"passed\": true}, {\"check\": \"double-ended-crossing regression 1\", \"actual\": [\"double-ended-crossing\"], \"expected\": [\"double-ended-crossing\"], \"passed\": true}, {\"check\": \"chunk-remainder regression 0\", \"actual\": [\"chunk-remainder\"], \"expected\": [\"chunk-remainder\"], \"passed\": true}, {\"check\": \"chunk-remainder regression 1\", \"actual\": [\"chunk-remainder\"], \"expected\": [\"chunk-remainder\"], \"passed\": true}, {\"check\": \"adapter-lifetime regression 0\", \"actual\": [\"adapter-lifetime\"], \"expected\": [\"adapter-lifetime\"], \"passed\": true}, {\"check\": \"adapter-lifetime regression 1\", \"actual\": [\"adapter-lifetime\"], \"expected\": [\"adapter-lifetime\"], \"passed\": true}, {\"check\": \"lending-collection regression 0\", \"actual\": [\"lending-collection\"], \"expected\": [\"lending-collection\"], \"passed\": true}, {\"check\": \"lending-collection regression 1\", \"actual\": [\"lending-collection\"], \"expected\": [\"lending-collection\"], \"passed\": true}, {\"check\": \"empty-yield regression 0\", \"actual\": [\"empty-yield\"], \"expected\": [\"empty-yield\"], \"passed\": true}, {\"check\": \"empty-yield regression 1\", \"actual\": [\"empty-yield\"], \"expected\": [\"empty-yield\"], \"passed\": true}, {\"check\": \"iterator-drop-owned-items regression 0\", \"actual\": [\"iterator-drop-owned-items\"], \"expected\": [\"iterator-drop-owned-items\"], \"passed\": true}, {\"check\": \"iterator-drop-owned-items regression 1\", \"actual\": [\"iterator-drop-owned-items\"], \"expected\": [\"iterator-drop-owned-items\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.782,"exit_code":0,"observations":[{"actual":[],"check":"well formed empty obligations","expected":[],"passed":true},{"actual":["yield-origin"],"check":"yield-origin regression 0","expected":["yield-origin"],"passed":true},{"actual":["yield-origin"],"check":"yield-origin regression 1","expected":["yield-origin"],"passed":true},{"actual":["lending-call-bound"],"check":"lending-call-bound regression 0","expected":["lending-call-bound"],"passed":true},{"actual":["lending-call-bound"],"check":"lending-call-bound regression 1","expected":["lending-call-bound"],"passed":true},{"actual":["mutable-yield-disjoint"],"check":"mutable-yield-disjoint regression 0","expected":["mutable-yield-disjoint"],"passed":true},{"actual":["mutable-yield-disjoint"],"check":"mutable-yield-disjoint regression 1","expected":["mutable-yield-disjoint"],"passed":true},{"actual":["next-reborrow-kill"],"check":"next-reborrow-kill regression 0","expected":["next-reborrow-kill"],"passed":true},{"actual":["next-reborrow-kill"],"check":"next-reborrow-kill regression 1","expected":["next-reborrow-kill"],"passed":true},{"actual":["double-ended-crossing"],"check":"double-ended-crossing regression 0","expected":["double-ended-crossing"],"passed":true},{"actual":["double-ended-crossing"],"check":"double-ended-crossing regression 1","expected":["double-ended-crossing"],"passed":true},{"actual":["chunk-remainder"],"check":"chunk-remainder regression 0","expected":["chunk-remainder"],"passed":true},{"actual":["chunk-remainder"],"check":"chunk-remainder regression 1","expected":["chunk-remainder"],"passed":true},{"actual":["adapter-lifetime"],"check":"adapter-lifetime regression 0","expected":["adapter-lifetime"],"passed":true},{"actual":["adapter-lifetime"],"check":"adapter-lifetime regression 1","expected":["adapter-lifetime"],"passed":true},{"actual":["lending-collection"],"check":"lending-collection regression 0","expected":["lending-collection"],"passed":true},{"actual":["lending-collection"],"check":"lending-collection regression 1","expected":["lending-collection"],"passed":true},{"actual":["empty-yield"],"check":"empty-yield regression 0","expected":["empty-yield"],"passed":true},{"actual":["empty-yield"],"check":"empty-yield regression 1","expected":["empty-yield"],"passed":true},{"actual":["iterator-drop-owned-items"],"check":"iterator-drop-owned-items regression 0","expected":["iterator-drop-owned-items"],"passed":true},{"actual":["iterator-drop-owned-items"],"check":"iterator-drop-owned-items regression 1","expected":["iterator-drop-owned-items"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"well formed empty obligations\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"yield-origin regression 0\", \"actual\": [\"yield-origin\"], \"expected\": [\"yield-origin\"], \"passed\": true}, {\"check\": \"yield-origin regression 1\", \"actual\": [\"yield-origin\"], \"expected\": [\"yield-origin\"], \"passed\": true}, {\"check\": \"lending-call-bound regression 0\", \"actual\": [\"lending-call-bound\"], \"expected\": [\"lending-call-bound\"], \"passed\": true}, {\"check\": \"lending-call-bound regression 1\", \"actual\": [\"lending-call-bound\"], \"expected\": [\"lending-call-bound\"], \"passed\": true}, {\"check\": \"mutable-yield-disjoint regression 0\", \"actual\": [\"mutable-yield-disjoint\"], \"expected\": [\"mutable-yield-disjoint\"], \"passed\": true}, {\"check\": \"mutable-yield-disjoint regression 1\", \"actual\": [\"mutable-yield-disjoint\"], \"expected\": [\"mutable-yield-disjoint\"], \"passed\": true}, {\"check\": \"next-reborrow-kill regression 0\", \"actual\": [\"next-reborrow-kill\"], \"expected\": [\"next-reborrow-kill\"], \"passed\": true}, {\"check\": \"next-reborrow-kill regression 1\", \"actual\": [\"next-reborrow-kill\"], \"expected\": [\"next-reborrow-kill\"], \"passed\": true}, {\"check\": \"double-ended-crossing regression 0\", \"actual\": [\"double-ended-crossing\"], \"expected\": [\"double-ended-crossing\"], \"passed\": true}, {\"check\": \"double-ended-crossing regression 1\", \"actual\": [\"double-ended-crossing\"], \"expected\": [\"double-ended-crossing\"], \"passed\": true}, {\"check\": \"chunk-remainder regression 0\", \"actual\": [\"chunk-remainder\"], \"expected\": [\"chunk-remainder\"], \"passed\": true}, {\"check\": \"chunk-remainder regression 1\", \"actual\": [\"chunk-remainder\"], \"expected\": [\"chunk-remainder\"], \"passed\": true}, {\"check\": \"adapter-lifetime regression 0\", \"actual\": [\"adapter-lifetime\"], \"expected\": [\"adapter-lifetime\"], \"passed\": true}, {\"check\": \"adapter-lifetime regression 1\", \"actual\": [\"adapter-lifetime\"], \"expected\": [\"adapter-lifetime\"], \"passed\": true}, {\"check\": \"lending-collection regression 0\", \"actual\": [\"lending-collection\"], \"expected\": [\"lending-collection\"], \"passed\": true}, {\"check\": \"lending-collection regression 1\", \"actual\": [\"lending-collection\"], \"expected\": [\"lending-collection\"], \"passed\": true}, {\"check\": \"empty-yield regression 0\", \"actual\": [\"empty-yield\"], \"expected\": [\"empty-yield\"], \"passed\": true}, {\"check\": \"empty-yield regression 1\", \"actual\": [\"empty-yield\"], \"expected\": [\"empty-yield\"], \"passed\": true}, {\"check\": \"iterator-drop-owned-items regression 0\", \"actual\": [\"iterator-drop-owned-items\"], \"expected\": [\"iterator-drop-owned-items\"], \"passed\": true}, {\"check\": \"iterator-drop-owned-items regression 1\", \"actual\": [\"iterator-drop-owned-items\"], \"expected\": [\"iterator-drop-owned-items\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}