{"abstract":"Replacing a pinned referent bypasses the move prohibition.","category":"Borrow checking","checks":21,"contract":"Check a toy pin-aware ownership IR. Pinned non-Unpin values may not move; field projection requires structural pin declaration; unpinned fields remain movable; replace through pinned reference requires Unpin; pinned destructor cannot move receiver; packing disallows safe pinned field references; projecting through shared pointer cannot produce unique pinned reference; converting pin to raw keeps provenance; unchecked pin construction requires an explicit immovability proof; frame relocation invalidates an earlier pin proof. 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-pinned-projections","failed_approach":"The partial repair uses if d['pinned'] and not d['unpin'] and d['replace'] and bool(d['moves']): errors.append('pin-replace'), which still violates the stipulated analysis contract.","family":"s3-borrow-checking-pinned-projections-pin-replace","id":"FA-43706","implementations":{"attempt":{"sha256":"df2cbb98350afce42eba172205b3e7fd290448486a83dc1f21eefd8a1f407d35","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    errors=[]\n    if d['pinned'] and not d['unpin'] and bool(d['moves']): errors.append('pinned-move')\n    if not set(d['projected'])<=set(d['structural']): errors.append('structural-projection')\n    if bool(set(d['unpin_fields'])&set(d['blocked_fields'])): errors.append('unpinned-field-move')\n    if d['pinned'] and not d['unpin'] and d['replace'] and bool(d['moves']): errors.append('pin-replace')\n    if d['pinned'] and d['destructor_move']: errors.append('pinned-destructor')\n    if bool(set(d['projected'])&set(d['packed_fields'])): errors.append('packed-pin')\n    if d['source_shared'] and d['unique_projection']: errors.append('shared-pin-uniqueness')\n    if d['raw_origin']!=d['pin_origin']: errors.append('raw-pin-provenance')\n    if d['unchecked_construct'] and not d['proof']: errors.append('unchecked-pin-proof')\n    if d['pin_generation']!=d['frame_generation']: errors.append('pin-relocation')\n    return errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nbase={'pinned': False, 'unpin': True, 'moves': [], 'projected': [], 'structural': [], 'unpin_fields': [], 'blocked_fields': [], 'replace': False, 'destructor_move': False, 'packed_fields': [], 'source_shared': False, 'unique_projection': False, 'raw_origin': None, 'pin_origin': None, 'unchecked_construct': False, 'proof': False, 'pin_generation': 0, 'frame_generation': 0}\ncheck('well formed empty obligations',solve(base),[])\ncheck('pinned-move regression 0', solve(dict(base, **({'pinned':True,'unpin':False,'moves':['x']}))), ['pinned-move'])\ncheck('pinned-move regression 1', solve(dict(base, **({'pinned':True,'unpin':False,'moves':[N]}))), ['pinned-move'])\ncheck('structural-projection regression 0', solve(dict(base, **({'projected':['a','b'],'structural':['a']}))), ['structural-projection'])\ncheck('structural-projection regression 1', solve(dict(base, **({'projected':[N,N+1],'structural':[N]}))), ['structural-projection'])\ncheck('unpinned-field-move regression 0', solve(dict(base, **({'unpin_fields':['a'],'blocked_fields':['a']}))), ['unpinned-field-move'])\ncheck('unpinned-field-move regression 1', solve(dict(base, **({'unpin_fields':[N],'blocked_fields':[N]}))), ['unpinned-field-move'])\ncheck('pin-replace regression 0', solve(dict(base, **({'pinned':True,'unpin':False,'replace':True}))), ['pin-replace'])\ncheck('pin-replace regression 1', solve(dict(base, **({'pinned':True,'unpin':False,'replace':True,'frame_generation':N,'pin_generation':N}))), ['pin-replace'])\ncheck('pinned-destructor regression 0', solve(dict(base, **({'pinned':True,'destructor_move':True}))), ['pinned-destructor'])\ncheck('pinned-destructor regression 1', solve(dict(base, **({'pinned':True,'destructor_move':True,'frame_generation':N,'pin_generation':N}))), ['pinned-destructor'])\ncheck('packed-pin regression 0', solve(dict(base, **({'projected':['a'],'structural':['a'],'packed_fields':['a']}))), ['packed-pin'])\ncheck('packed-pin regression 1', solve(dict(base, **({'projected':[N],'structural':[N],'packed_fields':[N]}))), ['packed-pin'])\ncheck('shared-pin-uniqueness regression 0', solve(dict(base, **({'source_shared':True,'unique_projection':True}))), ['shared-pin-uniqueness'])\ncheck('shared-pin-uniqueness regression 1', solve(dict(base, **({'source_shared':True,'unique_projection':True,'frame_generation':N,'pin_generation':N}))), ['shared-pin-uniqueness'])\ncheck('raw-pin-provenance regression 0', solve(dict(base, **({'raw_origin':'b','pin_origin':'a'}))), ['raw-pin-provenance'])\ncheck('raw-pin-provenance regression 1', solve(dict(base, **({'raw_origin':N+1,'pin_origin':N}))), ['raw-pin-provenance'])\ncheck('unchecked-pin-proof regression 0', solve(dict(base, **({'unchecked_construct':True}))), ['unchecked-pin-proof'])\ncheck('unchecked-pin-proof regression 1', solve(dict(base, **({'unchecked_construct':True,'frame_generation':N,'pin_generation':N}))), ['unchecked-pin-proof'])\ncheck('pin-relocation regression 0', solve(dict(base, **({'pin_generation':N,'frame_generation':N+1}))), ['pin-relocation'])\ncheck('pin-relocation regression 1', solve(dict(base, **({'pin_generation':N+1,'frame_generation':N+2}))), ['pin-relocation'])\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":"80cc4feeb001c9f38d2764944d28e86add9084db4822df2157851d742ccbc8f1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    errors=[]\n    if d['pinned'] and not d['unpin'] and bool(d['moves']): errors.append('pinned-move')\n    if not set(d['projected'])<=set(d['structural']): errors.append('structural-projection')\n    if bool(set(d['unpin_fields'])&set(d['blocked_fields'])): errors.append('unpinned-field-move')\n    if False: errors.append('pin-replace')\n    if d['pinned'] and d['destructor_move']: errors.append('pinned-destructor')\n    if bool(set(d['projected'])&set(d['packed_fields'])): errors.append('packed-pin')\n    if d['source_shared'] and d['unique_projection']: errors.append('shared-pin-uniqueness')\n    if d['raw_origin']!=d['pin_origin']: errors.append('raw-pin-provenance')\n    if d['unchecked_construct'] and not d['proof']: errors.append('unchecked-pin-proof')\n    if d['pin_generation']!=d['frame_generation']: errors.append('pin-relocation')\n    return errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nbase={'pinned': False, 'unpin': True, 'moves': [], 'projected': [], 'structural': [], 'unpin_fields': [], 'blocked_fields': [], 'replace': False, 'destructor_move': False, 'packed_fields': [], 'source_shared': False, 'unique_projection': False, 'raw_origin': None, 'pin_origin': None, 'unchecked_construct': False, 'proof': False, 'pin_generation': 0, 'frame_generation': 0}\ncheck('well formed empty obligations',solve(base),[])\ncheck('pinned-move regression 0', solve(dict(base, **({'pinned':True,'unpin':False,'moves':['x']}))), ['pinned-move'])\ncheck('pinned-move regression 1', solve(dict(base, **({'pinned':True,'unpin':False,'moves':[N]}))), ['pinned-move'])\ncheck('structural-projection regression 0', solve(dict(base, **({'projected':['a','b'],'structural':['a']}))), ['structural-projection'])\ncheck('structural-projection regression 1', solve(dict(base, **({'projected':[N,N+1],'structural':[N]}))), ['structural-projection'])\ncheck('unpinned-field-move regression 0', solve(dict(base, **({'unpin_fields':['a'],'blocked_fields':['a']}))), ['unpinned-field-move'])\ncheck('unpinned-field-move regression 1', solve(dict(base, **({'unpin_fields':[N],'blocked_fields':[N]}))), ['unpinned-field-move'])\ncheck('pin-replace regression 0', solve(dict(base, **({'pinned':True,'unpin':False,'replace':True}))), ['pin-replace'])\ncheck('pin-replace regression 1', solve(dict(base, **({'pinned':True,'unpin':False,'replace':True,'frame_generation':N,'pin_generation':N}))), ['pin-replace'])\ncheck('pinned-destructor regression 0', solve(dict(base, **({'pinned':True,'destructor_move':True}))), ['pinned-destructor'])\ncheck('pinned-destructor regression 1', solve(dict(base, **({'pinned':True,'destructor_move':True,'frame_generation':N,'pin_generation':N}))), ['pinned-destructor'])\ncheck('packed-pin regression 0', solve(dict(base, **({'projected':['a'],'structural':['a'],'packed_fields':['a']}))), ['packed-pin'])\ncheck('packed-pin regression 1', solve(dict(base, **({'projected':[N],'structural':[N],'packed_fields':[N]}))), ['packed-pin'])\ncheck('shared-pin-uniqueness regression 0', solve(dict(base, **({'source_shared':True,'unique_projection':True}))), ['shared-pin-uniqueness'])\ncheck('shared-pin-uniqueness regression 1', solve(dict(base, **({'source_shared':True,'unique_projection':True,'frame_generation':N,'pin_generation':N}))), ['shared-pin-uniqueness'])\ncheck('raw-pin-provenance regression 0', solve(dict(base, **({'raw_origin':'b','pin_origin':'a'}))), ['raw-pin-provenance'])\ncheck('raw-pin-provenance regression 1', solve(dict(base, **({'raw_origin':N+1,'pin_origin':N}))), ['raw-pin-provenance'])\ncheck('unchecked-pin-proof regression 0', solve(dict(base, **({'unchecked_construct':True}))), ['unchecked-pin-proof'])\ncheck('unchecked-pin-proof regression 1', solve(dict(base, **({'unchecked_construct':True,'frame_generation':N,'pin_generation':N}))), ['unchecked-pin-proof'])\ncheck('pin-relocation regression 0', solve(dict(base, **({'pin_generation':N,'frame_generation':N+1}))), ['pin-relocation'])\ncheck('pin-relocation regression 1', solve(dict(base, **({'pin_generation':N+1,'frame_generation':N+2}))), ['pin-relocation'])\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":"feb6dc98fc5078330de7d643e94e4e47ac55b1f69b06a7b68bb0e0df55c1a41a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    errors=[]\n    if d['pinned'] and not d['unpin'] and bool(d['moves']): errors.append('pinned-move')\n    if not set(d['projected'])<=set(d['structural']): errors.append('structural-projection')\n    if bool(set(d['unpin_fields'])&set(d['blocked_fields'])): errors.append('unpinned-field-move')\n    if d['pinned'] and not d['unpin'] and d['replace']: errors.append('pin-replace')\n    if d['pinned'] and d['destructor_move']: errors.append('pinned-destructor')\n    if bool(set(d['projected'])&set(d['packed_fields'])): errors.append('packed-pin')\n    if d['source_shared'] and d['unique_projection']: errors.append('shared-pin-uniqueness')\n    if d['raw_origin']!=d['pin_origin']: errors.append('raw-pin-provenance')\n    if d['unchecked_construct'] and not d['proof']: errors.append('unchecked-pin-proof')\n    if d['pin_generation']!=d['frame_generation']: errors.append('pin-relocation')\n    return errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nbase={'pinned': False, 'unpin': True, 'moves': [], 'projected': [], 'structural': [], 'unpin_fields': [], 'blocked_fields': [], 'replace': False, 'destructor_move': False, 'packed_fields': [], 'source_shared': False, 'unique_projection': False, 'raw_origin': None, 'pin_origin': None, 'unchecked_construct': False, 'proof': False, 'pin_generation': 0, 'frame_generation': 0}\ncheck('well formed empty obligations',solve(base),[])\ncheck('pinned-move regression 0', solve(dict(base, **({'pinned':True,'unpin':False,'moves':['x']}))), ['pinned-move'])\ncheck('pinned-move regression 1', solve(dict(base, **({'pinned':True,'unpin':False,'moves':[N]}))), ['pinned-move'])\ncheck('structural-projection regression 0', solve(dict(base, **({'projected':['a','b'],'structural':['a']}))), ['structural-projection'])\ncheck('structural-projection regression 1', solve(dict(base, **({'projected':[N,N+1],'structural':[N]}))), ['structural-projection'])\ncheck('unpinned-field-move regression 0', solve(dict(base, **({'unpin_fields':['a'],'blocked_fields':['a']}))), ['unpinned-field-move'])\ncheck('unpinned-field-move regression 1', solve(dict(base, **({'unpin_fields':[N],'blocked_fields':[N]}))), ['unpinned-field-move'])\ncheck('pin-replace regression 0', solve(dict(base, **({'pinned':True,'unpin':False,'replace':True}))), ['pin-replace'])\ncheck('pin-replace regression 1', solve(dict(base, **({'pinned':True,'unpin':False,'replace':True,'frame_generation':N,'pin_generation':N}))), ['pin-replace'])\ncheck('pinned-destructor regression 0', solve(dict(base, **({'pinned':True,'destructor_move':True}))), ['pinned-destructor'])\ncheck('pinned-destructor regression 1', solve(dict(base, **({'pinned':True,'destructor_move':True,'frame_generation':N,'pin_generation':N}))), ['pinned-destructor'])\ncheck('packed-pin regression 0', solve(dict(base, **({'projected':['a'],'structural':['a'],'packed_fields':['a']}))), ['packed-pin'])\ncheck('packed-pin regression 1', solve(dict(base, **({'projected':[N],'structural':[N],'packed_fields':[N]}))), ['packed-pin'])\ncheck('shared-pin-uniqueness regression 0', solve(dict(base, **({'source_shared':True,'unique_projection':True}))), ['shared-pin-uniqueness'])\ncheck('shared-pin-uniqueness regression 1', solve(dict(base, **({'source_shared':True,'unique_projection':True,'frame_generation':N,'pin_generation':N}))), ['shared-pin-uniqueness'])\ncheck('raw-pin-provenance regression 0', solve(dict(base, **({'raw_origin':'b','pin_origin':'a'}))), ['raw-pin-provenance'])\ncheck('raw-pin-provenance regression 1', solve(dict(base, **({'raw_origin':N+1,'pin_origin':N}))), ['raw-pin-provenance'])\ncheck('unchecked-pin-proof regression 0', solve(dict(base, **({'unchecked_construct':True}))), ['unchecked-pin-proof'])\ncheck('unchecked-pin-proof regression 1', solve(dict(base, **({'unchecked_construct':True,'frame_generation':N,'pin_generation':N}))), ['unchecked-pin-proof'])\ncheck('pin-relocation regression 0', solve(dict(base, **({'pin_generation':N,'frame_generation':N+1}))), ['pin-relocation'])\ncheck('pin-relocation regression 1', solve(dict(base, **({'pin_generation':N+1,'frame_generation':N+2}))), ['pin-relocation'])\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-pinned-projections-pin-replace","generated_at":"2026-09-29T14:44:04.732247+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 d['pinned'] and not d['unpin'] and d['replace']: errors.append('pin-replace').","root_cause":"The static analyzer mishandles pin replace: replacing a pinned referent bypasses the move prohibition.","sha256":"7c6c9bcf792928d30b6c6e805b1dde80789cb9453462001b158e7a9f12b39a33","title":"Replacing a pinned referent bypasses the move prohibition · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.212,"exit_code":1,"observations":[{"actual":[],"check":"well formed empty obligations","expected":[],"passed":true},{"actual":["pinned-move"],"check":"pinned-move regression 0","expected":["pinned-move"],"passed":true},{"actual":["pinned-move"],"check":"pinned-move regression 1","expected":["pinned-move"],"passed":true},{"actual":["structural-projection"],"check":"structural-projection regression 0","expected":["structural-projection"],"passed":true},{"actual":["structural-projection"],"check":"structural-projection regression 1","expected":["structural-projection"],"passed":true},{"actual":["unpinned-field-move"],"check":"unpinned-field-move regression 0","expected":["unpinned-field-move"],"passed":true},{"actual":["unpinned-field-move"],"check":"unpinned-field-move regression 1","expected":["unpinned-field-move"],"passed":true},{"actual":[],"check":"pin-replace regression 0","expected":["pin-replace"],"passed":false},{"actual":[],"check":"pin-replace regression 1","expected":["pin-replace"],"passed":false},{"actual":["pinned-destructor"],"check":"pinned-destructor regression 0","expected":["pinned-destructor"],"passed":true},{"actual":["pinned-destructor"],"check":"pinned-destructor regression 1","expected":["pinned-destructor"],"passed":true},{"actual":["packed-pin"],"check":"packed-pin regression 0","expected":["packed-pin"],"passed":true},{"actual":["packed-pin"],"check":"packed-pin regression 1","expected":["packed-pin"],"passed":true},{"actual":["shared-pin-uniqueness"],"check":"shared-pin-uniqueness regression 0","expected":["shared-pin-uniqueness"],"passed":true},{"actual":["shared-pin-uniqueness"],"check":"shared-pin-uniqueness regression 1","expected":["shared-pin-uniqueness"],"passed":true},{"actual":["raw-pin-provenance"],"check":"raw-pin-provenance regression 0","expected":["raw-pin-provenance"],"passed":true},{"actual":["raw-pin-provenance"],"check":"raw-pin-provenance regression 1","expected":["raw-pin-provenance"],"passed":true},{"actual":["unchecked-pin-proof"],"check":"unchecked-pin-proof regression 0","expected":["unchecked-pin-proof"],"passed":true},{"actual":["unchecked-pin-proof"],"check":"unchecked-pin-proof regression 1","expected":["unchecked-pin-proof"],"passed":true},{"actual":["pin-relocation"],"check":"pin-relocation regression 0","expected":["pin-relocation"],"passed":true},{"actual":["pin-relocation"],"check":"pin-relocation regression 1","expected":["pin-relocation"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"well formed empty obligations\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pinned-move regression 0\", \"actual\": [\"pinned-move\"], \"expected\": [\"pinned-move\"], \"passed\": true}, {\"check\": \"pinned-move regression 1\", \"actual\": [\"pinned-move\"], \"expected\": [\"pinned-move\"], \"passed\": true}, {\"check\": \"structural-projection regression 0\", \"actual\": [\"structural-projection\"], \"expected\": [\"structural-projection\"], \"passed\": true}, {\"check\": \"structural-projection regression 1\", \"actual\": [\"structural-projection\"], \"expected\": [\"structural-projection\"], \"passed\": true}, {\"check\": \"unpinned-field-move regression 0\", \"actual\": [\"unpinned-field-move\"], \"expected\": [\"unpinned-field-move\"], \"passed\": true}, {\"check\": \"unpinned-field-move regression 1\", \"actual\": [\"unpinned-field-move\"], \"expected\": [\"unpinned-field-move\"], \"passed\": true}, {\"check\": \"pin-replace regression 0\", \"actual\": [], \"expected\": [\"pin-replace\"], \"passed\": false}, {\"check\": \"pin-replace regression 1\", \"actual\": [], \"expected\": [\"pin-replace\"], \"passed\": false}, {\"check\": \"pinned-destructor regression 0\", \"actual\": [\"pinned-destructor\"], \"expected\": [\"pinned-destructor\"], \"passed\": true}, {\"check\": \"pinned-destructor regression 1\", \"actual\": [\"pinned-destructor\"], \"expected\": [\"pinned-destructor\"], \"passed\": true}, {\"check\": \"packed-pin regression 0\", \"actual\": [\"packed-pin\"], \"expected\": [\"packed-pin\"], \"passed\": true}, {\"check\": \"packed-pin regression 1\", \"actual\": [\"packed-pin\"], \"expected\": [\"packed-pin\"], \"passed\": true}, {\"check\": \"shared-pin-uniqueness regression 0\", \"actual\": [\"shared-pin-uniqueness\"], \"expected\": [\"shared-pin-uniqueness\"], \"passed\": true}, {\"check\": \"shared-pin-uniqueness regression 1\", \"actual\": [\"shared-pin-uniqueness\"], \"expected\": [\"shared-pin-uniqueness\"], \"passed\": true}, {\"check\": \"raw-pin-provenance regression 0\", \"actual\": [\"raw-pin-provenance\"], \"expected\": [\"raw-pin-provenance\"], \"passed\": true}, {\"check\": \"raw-pin-provenance regression 1\", \"actual\": [\"raw-pin-provenance\"], \"expected\": [\"raw-pin-provenance\"], \"passed\": true}, {\"check\": \"unchecked-pin-proof regression 0\", \"actual\": [\"unchecked-pin-proof\"], \"expected\": [\"unchecked-pin-proof\"], \"passed\": true}, {\"check\": \"unchecked-pin-proof regression 1\", \"actual\": [\"unchecked-pin-proof\"], \"expected\": [\"unchecked-pin-proof\"], \"passed\": true}, {\"check\": \"pin-relocation regression 0\", \"actual\": [\"pin-relocation\"], \"expected\": [\"pin-relocation\"], \"passed\": true}, {\"check\": \"pin-relocation regression 1\", \"actual\": [\"pin-relocation\"], \"expected\": [\"pin-relocation\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.64,"exit_code":1,"observations":[{"actual":[],"check":"well formed empty obligations","expected":[],"passed":true},{"actual":["pinned-move"],"check":"pinned-move regression 0","expected":["pinned-move"],"passed":true},{"actual":["pinned-move"],"check":"pinned-move regression 1","expected":["pinned-move"],"passed":true},{"actual":["structural-projection"],"check":"structural-projection regression 0","expected":["structural-projection"],"passed":true},{"actual":["structural-projection"],"check":"structural-projection regression 1","expected":["structural-projection"],"passed":true},{"actual":["unpinned-field-move"],"check":"unpinned-field-move regression 0","expected":["unpinned-field-move"],"passed":true},{"actual":["unpinned-field-move"],"check":"unpinned-field-move regression 1","expected":["unpinned-field-move"],"passed":true},{"actual":[],"check":"pin-replace regression 0","expected":["pin-replace"],"passed":false},{"actual":[],"check":"pin-replace regression 1","expected":["pin-replace"],"passed":false},{"actual":["pinned-destructor"],"check":"pinned-destructor regression 0","expected":["pinned-destructor"],"passed":true},{"actual":["pinned-destructor"],"check":"pinned-destructor regression 1","expected":["pinned-destructor"],"passed":true},{"actual":["packed-pin"],"check":"packed-pin regression 0","expected":["packed-pin"],"passed":true},{"actual":["packed-pin"],"check":"packed-pin regression 1","expected":["packed-pin"],"passed":true},{"actual":["shared-pin-uniqueness"],"check":"shared-pin-uniqueness regression 0","expected":["shared-pin-uniqueness"],"passed":true},{"actual":["shared-pin-uniqueness"],"check":"shared-pin-uniqueness regression 1","expected":["shared-pin-uniqueness"],"passed":true},{"actual":["raw-pin-provenance"],"check":"raw-pin-provenance regression 0","expected":["raw-pin-provenance"],"passed":true},{"actual":["raw-pin-provenance"],"check":"raw-pin-provenance regression 1","expected":["raw-pin-provenance"],"passed":true},{"actual":["unchecked-pin-proof"],"check":"unchecked-pin-proof regression 0","expected":["unchecked-pin-proof"],"passed":true},{"actual":["unchecked-pin-proof"],"check":"unchecked-pin-proof regression 1","expected":["unchecked-pin-proof"],"passed":true},{"actual":["pin-relocation"],"check":"pin-relocation regression 0","expected":["pin-relocation"],"passed":true},{"actual":["pin-relocation"],"check":"pin-relocation regression 1","expected":["pin-relocation"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"well formed empty obligations\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pinned-move regression 0\", \"actual\": [\"pinned-move\"], \"expected\": [\"pinned-move\"], \"passed\": true}, {\"check\": \"pinned-move regression 1\", \"actual\": [\"pinned-move\"], \"expected\": [\"pinned-move\"], \"passed\": true}, {\"check\": \"structural-projection regression 0\", \"actual\": [\"structural-projection\"], \"expected\": [\"structural-projection\"], \"passed\": true}, {\"check\": \"structural-projection regression 1\", \"actual\": [\"structural-projection\"], \"expected\": [\"structural-projection\"], \"passed\": true}, {\"check\": \"unpinned-field-move regression 0\", \"actual\": [\"unpinned-field-move\"], \"expected\": [\"unpinned-field-move\"], \"passed\": true}, {\"check\": \"unpinned-field-move regression 1\", \"actual\": [\"unpinned-field-move\"], \"expected\": [\"unpinned-field-move\"], \"passed\": true}, {\"check\": \"pin-replace regression 0\", \"actual\": [], \"expected\": [\"pin-replace\"], \"passed\": false}, {\"check\": \"pin-replace regression 1\", \"actual\": [], \"expected\": [\"pin-replace\"], \"passed\": false}, {\"check\": \"pinned-destructor regression 0\", \"actual\": [\"pinned-destructor\"], \"expected\": [\"pinned-destructor\"], \"passed\": true}, {\"check\": \"pinned-destructor regression 1\", \"actual\": [\"pinned-destructor\"], \"expected\": [\"pinned-destructor\"], \"passed\": true}, {\"check\": \"packed-pin regression 0\", \"actual\": [\"packed-pin\"], \"expected\": [\"packed-pin\"], \"passed\": true}, {\"check\": \"packed-pin regression 1\", \"actual\": [\"packed-pin\"], \"expected\": [\"packed-pin\"], \"passed\": true}, {\"check\": \"shared-pin-uniqueness regression 0\", \"actual\": [\"shared-pin-uniqueness\"], \"expected\": [\"shared-pin-uniqueness\"], \"passed\": true}, {\"check\": \"shared-pin-uniqueness regression 1\", \"actual\": [\"shared-pin-uniqueness\"], \"expected\": [\"shared-pin-uniqueness\"], \"passed\": true}, {\"check\": \"raw-pin-provenance regression 0\", \"actual\": [\"raw-pin-provenance\"], \"expected\": [\"raw-pin-provenance\"], \"passed\": true}, {\"check\": \"raw-pin-provenance regression 1\", \"actual\": [\"raw-pin-provenance\"], \"expected\": [\"raw-pin-provenance\"], \"passed\": true}, {\"check\": \"unchecked-pin-proof regression 0\", \"actual\": [\"unchecked-pin-proof\"], \"expected\": [\"unchecked-pin-proof\"], \"passed\": true}, {\"check\": \"unchecked-pin-proof regression 1\", \"actual\": [\"unchecked-pin-proof\"], \"expected\": [\"unchecked-pin-proof\"], \"passed\": true}, {\"check\": \"pin-relocation regression 0\", \"actual\": [\"pin-relocation\"], \"expected\": [\"pin-relocation\"], \"passed\": true}, {\"check\": \"pin-relocation regression 1\", \"actual\": [\"pin-relocation\"], \"expected\": [\"pin-relocation\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.331,"exit_code":0,"observations":[{"actual":[],"check":"well formed empty obligations","expected":[],"passed":true},{"actual":["pinned-move"],"check":"pinned-move regression 0","expected":["pinned-move"],"passed":true},{"actual":["pinned-move"],"check":"pinned-move regression 1","expected":["pinned-move"],"passed":true},{"actual":["structural-projection"],"check":"structural-projection regression 0","expected":["structural-projection"],"passed":true},{"actual":["structural-projection"],"check":"structural-projection regression 1","expected":["structural-projection"],"passed":true},{"actual":["unpinned-field-move"],"check":"unpinned-field-move regression 0","expected":["unpinned-field-move"],"passed":true},{"actual":["unpinned-field-move"],"check":"unpinned-field-move regression 1","expected":["unpinned-field-move"],"passed":true},{"actual":["pin-replace"],"check":"pin-replace regression 0","expected":["pin-replace"],"passed":true},{"actual":["pin-replace"],"check":"pin-replace regression 1","expected":["pin-replace"],"passed":true},{"actual":["pinned-destructor"],"check":"pinned-destructor regression 0","expected":["pinned-destructor"],"passed":true},{"actual":["pinned-destructor"],"check":"pinned-destructor regression 1","expected":["pinned-destructor"],"passed":true},{"actual":["packed-pin"],"check":"packed-pin regression 0","expected":["packed-pin"],"passed":true},{"actual":["packed-pin"],"check":"packed-pin regression 1","expected":["packed-pin"],"passed":true},{"actual":["shared-pin-uniqueness"],"check":"shared-pin-uniqueness regression 0","expected":["shared-pin-uniqueness"],"passed":true},{"actual":["shared-pin-uniqueness"],"check":"shared-pin-uniqueness regression 1","expected":["shared-pin-uniqueness"],"passed":true},{"actual":["raw-pin-provenance"],"check":"raw-pin-provenance regression 0","expected":["raw-pin-provenance"],"passed":true},{"actual":["raw-pin-provenance"],"check":"raw-pin-provenance regression 1","expected":["raw-pin-provenance"],"passed":true},{"actual":["unchecked-pin-proof"],"check":"unchecked-pin-proof regression 0","expected":["unchecked-pin-proof"],"passed":true},{"actual":["unchecked-pin-proof"],"check":"unchecked-pin-proof regression 1","expected":["unchecked-pin-proof"],"passed":true},{"actual":["pin-relocation"],"check":"pin-relocation regression 0","expected":["pin-relocation"],"passed":true},{"actual":["pin-relocation"],"check":"pin-relocation regression 1","expected":["pin-relocation"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"well formed empty obligations\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pinned-move regression 0\", \"actual\": [\"pinned-move\"], \"expected\": [\"pinned-move\"], \"passed\": true}, {\"check\": \"pinned-move regression 1\", \"actual\": [\"pinned-move\"], \"expected\": [\"pinned-move\"], \"passed\": true}, {\"check\": \"structural-projection regression 0\", \"actual\": [\"structural-projection\"], \"expected\": [\"structural-projection\"], \"passed\": true}, {\"check\": \"structural-projection regression 1\", \"actual\": [\"structural-projection\"], \"expected\": [\"structural-projection\"], \"passed\": true}, {\"check\": \"unpinned-field-move regression 0\", \"actual\": [\"unpinned-field-move\"], \"expected\": [\"unpinned-field-move\"], \"passed\": true}, {\"check\": \"unpinned-field-move regression 1\", \"actual\": [\"unpinned-field-move\"], \"expected\": [\"unpinned-field-move\"], \"passed\": true}, {\"check\": \"pin-replace regression 0\", \"actual\": [\"pin-replace\"], \"expected\": [\"pin-replace\"], \"passed\": true}, {\"check\": \"pin-replace regression 1\", \"actual\": [\"pin-replace\"], \"expected\": [\"pin-replace\"], \"passed\": true}, {\"check\": \"pinned-destructor regression 0\", \"actual\": [\"pinned-destructor\"], \"expected\": [\"pinned-destructor\"], \"passed\": true}, {\"check\": \"pinned-destructor regression 1\", \"actual\": [\"pinned-destructor\"], \"expected\": [\"pinned-destructor\"], \"passed\": true}, {\"check\": \"packed-pin regression 0\", \"actual\": [\"packed-pin\"], \"expected\": [\"packed-pin\"], \"passed\": true}, {\"check\": \"packed-pin regression 1\", \"actual\": [\"packed-pin\"], \"expected\": [\"packed-pin\"], \"passed\": true}, {\"check\": \"shared-pin-uniqueness regression 0\", \"actual\": [\"shared-pin-uniqueness\"], \"expected\": [\"shared-pin-uniqueness\"], \"passed\": true}, {\"check\": \"shared-pin-uniqueness regression 1\", \"actual\": [\"shared-pin-uniqueness\"], \"expected\": [\"shared-pin-uniqueness\"], \"passed\": true}, {\"check\": \"raw-pin-provenance regression 0\", \"actual\": [\"raw-pin-provenance\"], \"expected\": [\"raw-pin-provenance\"], \"passed\": true}, {\"check\": \"raw-pin-provenance regression 1\", \"actual\": [\"raw-pin-provenance\"], \"expected\": [\"raw-pin-provenance\"], \"passed\": true}, {\"check\": \"unchecked-pin-proof regression 0\", \"actual\": [\"unchecked-pin-proof\"], \"expected\": [\"unchecked-pin-proof\"], \"passed\": true}, {\"check\": \"unchecked-pin-proof regression 1\", \"actual\": [\"unchecked-pin-proof\"], \"expected\": [\"unchecked-pin-proof\"], \"passed\": true}, {\"check\": \"pin-relocation regression 0\", \"actual\": [\"pin-relocation\"], \"expected\": [\"pin-relocation\"], \"passed\": true}, {\"check\": \"pin-relocation regression 1\", \"actual\": [\"pin-relocation\"], \"expected\": [\"pin-relocation\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}