{"abstract":"Union payload reference is justified by the wrong active-variant witness.","category":"Borrow checking","checks":21,"contract":"Check statically tracked reference provenance in a toy allocation IR. An address is not an allocation identity; allocation epoch must match; offset within object or one-past only for nondereferenced pointer; raw-to-reference conversion needs a live origin; integer roundtrip cannot invent provenance; reallocation invalidates old origins; zero-sized allocations still have separate ownership IDs; union reinterpretation needs a declared active variant; stack origins cannot become heap origins by cast; a subobject reference retains the base owner. 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-allocation-provenance","failed_approach":"The partial repair uses if d['union_read'] and d['active_variant'] is None: errors.append('union-variant-witness'), which still violates the stipulated analysis contract.","family":"s3-borrow-checking-allocation-provenance-union-variant-witness","id":"FA-43926","implementations":{"attempt":{"sha256":"5ece8568727745231748a1ca8709502828da161eaa1e0f6014108a331ab5c710","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    errors=[]\n    if d['address_equal'] and not d['allocation_equal'] and d['alias_inferred']: errors.append('address-not-owner')\n    if d['epoch']!=d['current_epoch']: errors.append('epoch-validity')\n    if d['offset']<0 or d['offset']>d['size'] or (d['dereference'] and d['offset']==d['size']): errors.append('one-past-dereference')\n    if d['raw_reference'] and not d['origin_live']: errors.append('raw-live-origin')\n    if d['integer_only'] and d['provenance_granted']: errors.append('integer-provenance')\n    if d['reallocated'] and d['old_origin_used']: errors.append('reallocation-invalidation')\n    if not set(d['zero_size_owners'])<=set(d['merged_owners']): errors.append('zst-identity')\n    if d['union_read'] and d['active_variant'] is None: errors.append('union-variant-witness')\n    if d['stack_origin'] and d['heap_cast']: errors.append('storage-class-cast')\n    if d['base_owner']!=d['subobject_owner']: errors.append('subobject-owner')\n    return errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nbase={'address_equal': False, 'allocation_equal': True, 'alias_inferred': False, 'epoch': 0, 'current_epoch': 0, 'offset': 0, 'size': 0, 'dereference': False, 'raw_reference': False, 'origin_live': True, 'integer_only': False, 'provenance_granted': False, 'reallocated': False, 'old_origin_used': False, 'zero_size_owners': [], 'merged_owners': [], 'variant': None, 'active_variant': None, 'union_read': False, 'stack_origin': False, 'heap_cast': False, 'base_owner': None, 'subobject_owner': None}\ncheck('well formed empty obligations',solve(base),[])\ncheck('address-not-owner regression 0', solve(dict(base, **({'address_equal':True,'allocation_equal':False,'alias_inferred':True,'size':N}))), ['address-not-owner'])\ncheck('address-not-owner regression 1', solve(dict(base, **({'address_equal':True,'allocation_equal':False,'alias_inferred':True,'size':N+1}))), ['address-not-owner'])\ncheck('epoch-validity regression 0', solve(dict(base, **({'epoch':N,'current_epoch':N+1}))), ['epoch-validity'])\ncheck('epoch-validity regression 1', solve(dict(base, **({'epoch':N+1,'current_epoch':N+2}))), ['epoch-validity'])\ncheck('one-past-dereference regression 0', solve(dict(base, **({'offset':N,'size':N,'dereference':True}))), ['one-past-dereference'])\ncheck('one-past-dereference regression 1', solve(dict(base, **({'offset':N+1,'size':N+1,'dereference':True}))), ['one-past-dereference'])\ncheck('raw-live-origin regression 0', solve(dict(base, **({'raw_reference':True,'origin_live':False}))), ['raw-live-origin'])\ncheck('raw-live-origin regression 1', solve(dict(base, **({'raw_reference':True,'origin_live':False,'size':N}))), ['raw-live-origin'])\ncheck('integer-provenance regression 0', solve(dict(base, **({'integer_only':True,'provenance_granted':True}))), ['integer-provenance'])\ncheck('integer-provenance regression 1', solve(dict(base, **({'integer_only':True,'provenance_granted':True,'size':N}))), ['integer-provenance'])\ncheck('reallocation-invalidation regression 0', solve(dict(base, **({'reallocated':True,'old_origin_used':True,'address_equal':True}))), ['reallocation-invalidation'])\ncheck('reallocation-invalidation regression 1', solve(dict(base, **({'reallocated':True,'old_origin_used':True,'address_equal':True,'size':N}))), ['reallocation-invalidation'])\ncheck('zst-identity regression 0', solve(dict(base, **({'zero_size_owners':['a','b'],'merged_owners':['a']}))), ['zst-identity'])\ncheck('zst-identity regression 1', solve(dict(base, **({'zero_size_owners':[N,N+1],'merged_owners':[N]}))), ['zst-identity'])\ncheck('union-variant-witness regression 0', solve(dict(base, **({'union_read':True,'variant':'b','active_variant':'a'}))), ['union-variant-witness'])\ncheck('union-variant-witness regression 1', solve(dict(base, **({'union_read':True,'variant':N,'active_variant':N+1}))), ['union-variant-witness'])\ncheck('storage-class-cast regression 0', solve(dict(base, **({'stack_origin':True,'heap_cast':True}))), ['storage-class-cast'])\ncheck('storage-class-cast regression 1', solve(dict(base, **({'stack_origin':True,'heap_cast':True,'size':N}))), ['storage-class-cast'])\ncheck('subobject-owner regression 0', solve(dict(base, **({'base_owner':'r','subobject_owner':'field'}))), ['subobject-owner'])\ncheck('subobject-owner regression 1', solve(dict(base, **({'base_owner':N,'subobject_owner':N+1}))), ['subobject-owner'])\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":"08d0bea4e52b754867818eba37d2b605367d37f5cd878fdf3b63a89a9a365d2e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    errors=[]\n    if d['address_equal'] and not d['allocation_equal'] and d['alias_inferred']: errors.append('address-not-owner')\n    if d['epoch']!=d['current_epoch']: errors.append('epoch-validity')\n    if d['offset']<0 or d['offset']>d['size'] or (d['dereference'] and d['offset']==d['size']): errors.append('one-past-dereference')\n    if d['raw_reference'] and not d['origin_live']: errors.append('raw-live-origin')\n    if d['integer_only'] and d['provenance_granted']: errors.append('integer-provenance')\n    if d['reallocated'] and d['old_origin_used']: errors.append('reallocation-invalidation')\n    if not set(d['zero_size_owners'])<=set(d['merged_owners']): errors.append('zst-identity')\n    if False: errors.append('union-variant-witness')\n    if d['stack_origin'] and d['heap_cast']: errors.append('storage-class-cast')\n    if d['base_owner']!=d['subobject_owner']: errors.append('subobject-owner')\n    return errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nbase={'address_equal': False, 'allocation_equal': True, 'alias_inferred': False, 'epoch': 0, 'current_epoch': 0, 'offset': 0, 'size': 0, 'dereference': False, 'raw_reference': False, 'origin_live': True, 'integer_only': False, 'provenance_granted': False, 'reallocated': False, 'old_origin_used': False, 'zero_size_owners': [], 'merged_owners': [], 'variant': None, 'active_variant': None, 'union_read': False, 'stack_origin': False, 'heap_cast': False, 'base_owner': None, 'subobject_owner': None}\ncheck('well formed empty obligations',solve(base),[])\ncheck('address-not-owner regression 0', solve(dict(base, **({'address_equal':True,'allocation_equal':False,'alias_inferred':True,'size':N}))), ['address-not-owner'])\ncheck('address-not-owner regression 1', solve(dict(base, **({'address_equal':True,'allocation_equal':False,'alias_inferred':True,'size':N+1}))), ['address-not-owner'])\ncheck('epoch-validity regression 0', solve(dict(base, **({'epoch':N,'current_epoch':N+1}))), ['epoch-validity'])\ncheck('epoch-validity regression 1', solve(dict(base, **({'epoch':N+1,'current_epoch':N+2}))), ['epoch-validity'])\ncheck('one-past-dereference regression 0', solve(dict(base, **({'offset':N,'size':N,'dereference':True}))), ['one-past-dereference'])\ncheck('one-past-dereference regression 1', solve(dict(base, **({'offset':N+1,'size':N+1,'dereference':True}))), ['one-past-dereference'])\ncheck('raw-live-origin regression 0', solve(dict(base, **({'raw_reference':True,'origin_live':False}))), ['raw-live-origin'])\ncheck('raw-live-origin regression 1', solve(dict(base, **({'raw_reference':True,'origin_live':False,'size':N}))), ['raw-live-origin'])\ncheck('integer-provenance regression 0', solve(dict(base, **({'integer_only':True,'provenance_granted':True}))), ['integer-provenance'])\ncheck('integer-provenance regression 1', solve(dict(base, **({'integer_only':True,'provenance_granted':True,'size':N}))), ['integer-provenance'])\ncheck('reallocation-invalidation regression 0', solve(dict(base, **({'reallocated':True,'old_origin_used':True,'address_equal':True}))), ['reallocation-invalidation'])\ncheck('reallocation-invalidation regression 1', solve(dict(base, **({'reallocated':True,'old_origin_used':True,'address_equal':True,'size':N}))), ['reallocation-invalidation'])\ncheck('zst-identity regression 0', solve(dict(base, **({'zero_size_owners':['a','b'],'merged_owners':['a']}))), ['zst-identity'])\ncheck('zst-identity regression 1', solve(dict(base, **({'zero_size_owners':[N,N+1],'merged_owners':[N]}))), ['zst-identity'])\ncheck('union-variant-witness regression 0', solve(dict(base, **({'union_read':True,'variant':'b','active_variant':'a'}))), ['union-variant-witness'])\ncheck('union-variant-witness regression 1', solve(dict(base, **({'union_read':True,'variant':N,'active_variant':N+1}))), ['union-variant-witness'])\ncheck('storage-class-cast regression 0', solve(dict(base, **({'stack_origin':True,'heap_cast':True}))), ['storage-class-cast'])\ncheck('storage-class-cast regression 1', solve(dict(base, **({'stack_origin':True,'heap_cast':True,'size':N}))), ['storage-class-cast'])\ncheck('subobject-owner regression 0', solve(dict(base, **({'base_owner':'r','subobject_owner':'field'}))), ['subobject-owner'])\ncheck('subobject-owner regression 1', solve(dict(base, **({'base_owner':N,'subobject_owner':N+1}))), ['subobject-owner'])\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":"70c14674c67aa671c2f3eb0fe660769463f0dcf27e43c5ae65ae60959416e9ff","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    errors=[]\n    if d['address_equal'] and not d['allocation_equal'] and d['alias_inferred']: errors.append('address-not-owner')\n    if d['epoch']!=d['current_epoch']: errors.append('epoch-validity')\n    if d['offset']<0 or d['offset']>d['size'] or (d['dereference'] and d['offset']==d['size']): errors.append('one-past-dereference')\n    if d['raw_reference'] and not d['origin_live']: errors.append('raw-live-origin')\n    if d['integer_only'] and d['provenance_granted']: errors.append('integer-provenance')\n    if d['reallocated'] and d['old_origin_used']: errors.append('reallocation-invalidation')\n    if not set(d['zero_size_owners'])<=set(d['merged_owners']): errors.append('zst-identity')\n    if d['union_read'] and d['variant']!=d['active_variant']: errors.append('union-variant-witness')\n    if d['stack_origin'] and d['heap_cast']: errors.append('storage-class-cast')\n    if d['base_owner']!=d['subobject_owner']: errors.append('subobject-owner')\n    return errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nbase={'address_equal': False, 'allocation_equal': True, 'alias_inferred': False, 'epoch': 0, 'current_epoch': 0, 'offset': 0, 'size': 0, 'dereference': False, 'raw_reference': False, 'origin_live': True, 'integer_only': False, 'provenance_granted': False, 'reallocated': False, 'old_origin_used': False, 'zero_size_owners': [], 'merged_owners': [], 'variant': None, 'active_variant': None, 'union_read': False, 'stack_origin': False, 'heap_cast': False, 'base_owner': None, 'subobject_owner': None}\ncheck('well formed empty obligations',solve(base),[])\ncheck('address-not-owner regression 0', solve(dict(base, **({'address_equal':True,'allocation_equal':False,'alias_inferred':True,'size':N}))), ['address-not-owner'])\ncheck('address-not-owner regression 1', solve(dict(base, **({'address_equal':True,'allocation_equal':False,'alias_inferred':True,'size':N+1}))), ['address-not-owner'])\ncheck('epoch-validity regression 0', solve(dict(base, **({'epoch':N,'current_epoch':N+1}))), ['epoch-validity'])\ncheck('epoch-validity regression 1', solve(dict(base, **({'epoch':N+1,'current_epoch':N+2}))), ['epoch-validity'])\ncheck('one-past-dereference regression 0', solve(dict(base, **({'offset':N,'size':N,'dereference':True}))), ['one-past-dereference'])\ncheck('one-past-dereference regression 1', solve(dict(base, **({'offset':N+1,'size':N+1,'dereference':True}))), ['one-past-dereference'])\ncheck('raw-live-origin regression 0', solve(dict(base, **({'raw_reference':True,'origin_live':False}))), ['raw-live-origin'])\ncheck('raw-live-origin regression 1', solve(dict(base, **({'raw_reference':True,'origin_live':False,'size':N}))), ['raw-live-origin'])\ncheck('integer-provenance regression 0', solve(dict(base, **({'integer_only':True,'provenance_granted':True}))), ['integer-provenance'])\ncheck('integer-provenance regression 1', solve(dict(base, **({'integer_only':True,'provenance_granted':True,'size':N}))), ['integer-provenance'])\ncheck('reallocation-invalidation regression 0', solve(dict(base, **({'reallocated':True,'old_origin_used':True,'address_equal':True}))), ['reallocation-invalidation'])\ncheck('reallocation-invalidation regression 1', solve(dict(base, **({'reallocated':True,'old_origin_used':True,'address_equal':True,'size':N}))), ['reallocation-invalidation'])\ncheck('zst-identity regression 0', solve(dict(base, **({'zero_size_owners':['a','b'],'merged_owners':['a']}))), ['zst-identity'])\ncheck('zst-identity regression 1', solve(dict(base, **({'zero_size_owners':[N,N+1],'merged_owners':[N]}))), ['zst-identity'])\ncheck('union-variant-witness regression 0', solve(dict(base, **({'union_read':True,'variant':'b','active_variant':'a'}))), ['union-variant-witness'])\ncheck('union-variant-witness regression 1', solve(dict(base, **({'union_read':True,'variant':N,'active_variant':N+1}))), ['union-variant-witness'])\ncheck('storage-class-cast regression 0', solve(dict(base, **({'stack_origin':True,'heap_cast':True}))), ['storage-class-cast'])\ncheck('storage-class-cast regression 1', solve(dict(base, **({'stack_origin':True,'heap_cast':True,'size':N}))), ['storage-class-cast'])\ncheck('subobject-owner regression 0', solve(dict(base, **({'base_owner':'r','subobject_owner':'field'}))), ['subobject-owner'])\ncheck('subobject-owner regression 1', solve(dict(base, **({'base_owner':N,'subobject_owner':N+1}))), ['subobject-owner'])\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-allocation-provenance-union-variant-witness","generated_at":"2026-09-29T14:44:07.011599+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['union_read'] and d['variant']!=d['active_variant']: errors.append('union-variant-witness').","root_cause":"The static analyzer mishandles union variant witness: union payload reference is justified by the wrong active-variant witness.","sha256":"b707455cc9b81b8283405ab4de49083cd344f19bd5101023b5aac6d8e148cfad","title":"Union payload reference is justified by the wrong active-variant witness · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.189,"exit_code":1,"observations":[{"actual":[],"check":"well formed empty obligations","expected":[],"passed":true},{"actual":["address-not-owner"],"check":"address-not-owner regression 0","expected":["address-not-owner"],"passed":true},{"actual":["address-not-owner"],"check":"address-not-owner regression 1","expected":["address-not-owner"],"passed":true},{"actual":["epoch-validity"],"check":"epoch-validity regression 0","expected":["epoch-validity"],"passed":true},{"actual":["epoch-validity"],"check":"epoch-validity regression 1","expected":["epoch-validity"],"passed":true},{"actual":["one-past-dereference"],"check":"one-past-dereference regression 0","expected":["one-past-dereference"],"passed":true},{"actual":["one-past-dereference"],"check":"one-past-dereference regression 1","expected":["one-past-dereference"],"passed":true},{"actual":["raw-live-origin"],"check":"raw-live-origin regression 0","expected":["raw-live-origin"],"passed":true},{"actual":["raw-live-origin"],"check":"raw-live-origin regression 1","expected":["raw-live-origin"],"passed":true},{"actual":["integer-provenance"],"check":"integer-provenance regression 0","expected":["integer-provenance"],"passed":true},{"actual":["integer-provenance"],"check":"integer-provenance regression 1","expected":["integer-provenance"],"passed":true},{"actual":["reallocation-invalidation"],"check":"reallocation-invalidation regression 0","expected":["reallocation-invalidation"],"passed":true},{"actual":["reallocation-invalidation"],"check":"reallocation-invalidation regression 1","expected":["reallocation-invalidation"],"passed":true},{"actual":["zst-identity"],"check":"zst-identity regression 0","expected":["zst-identity"],"passed":true},{"actual":["zst-identity"],"check":"zst-identity regression 1","expected":["zst-identity"],"passed":true},{"actual":[],"check":"union-variant-witness regression 0","expected":["union-variant-witness"],"passed":false},{"actual":[],"check":"union-variant-witness regression 1","expected":["union-variant-witness"],"passed":false},{"actual":["storage-class-cast"],"check":"storage-class-cast regression 0","expected":["storage-class-cast"],"passed":true},{"actual":["storage-class-cast"],"check":"storage-class-cast regression 1","expected":["storage-class-cast"],"passed":true},{"actual":["subobject-owner"],"check":"subobject-owner regression 0","expected":["subobject-owner"],"passed":true},{"actual":["subobject-owner"],"check":"subobject-owner regression 1","expected":["subobject-owner"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"well formed empty obligations\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"address-not-owner regression 0\", \"actual\": [\"address-not-owner\"], \"expected\": [\"address-not-owner\"], \"passed\": true}, {\"check\": \"address-not-owner regression 1\", \"actual\": [\"address-not-owner\"], \"expected\": [\"address-not-owner\"], \"passed\": true}, {\"check\": \"epoch-validity regression 0\", \"actual\": [\"epoch-validity\"], \"expected\": [\"epoch-validity\"], \"passed\": true}, {\"check\": \"epoch-validity regression 1\", \"actual\": [\"epoch-validity\"], \"expected\": [\"epoch-validity\"], \"passed\": true}, {\"check\": \"one-past-dereference regression 0\", \"actual\": [\"one-past-dereference\"], \"expected\": [\"one-past-dereference\"], \"passed\": true}, {\"check\": \"one-past-dereference regression 1\", \"actual\": [\"one-past-dereference\"], \"expected\": [\"one-past-dereference\"], \"passed\": true}, {\"check\": \"raw-live-origin regression 0\", \"actual\": [\"raw-live-origin\"], \"expected\": [\"raw-live-origin\"], \"passed\": true}, {\"check\": \"raw-live-origin regression 1\", \"actual\": [\"raw-live-origin\"], \"expected\": [\"raw-live-origin\"], \"passed\": true}, {\"check\": \"integer-provenance regression 0\", \"actual\": [\"integer-provenance\"], \"expected\": [\"integer-provenance\"], \"passed\": true}, {\"check\": \"integer-provenance regression 1\", \"actual\": [\"integer-provenance\"], \"expected\": [\"integer-provenance\"], \"passed\": true}, {\"check\": \"reallocation-invalidation regression 0\", \"actual\": [\"reallocation-invalidation\"], \"expected\": [\"reallocation-invalidation\"], \"passed\": true}, {\"check\": \"reallocation-invalidation regression 1\", \"actual\": [\"reallocation-invalidation\"], \"expected\": [\"reallocation-invalidation\"], \"passed\": true}, {\"check\": \"zst-identity regression 0\", \"actual\": [\"zst-identity\"], \"expected\": [\"zst-identity\"], \"passed\": true}, {\"check\": \"zst-identity regression 1\", \"actual\": [\"zst-identity\"], \"expected\": [\"zst-identity\"], \"passed\": true}, {\"check\": \"union-variant-witness regression 0\", \"actual\": [], \"expected\": [\"union-variant-witness\"], \"passed\": false}, {\"check\": \"union-variant-witness regression 1\", \"actual\": [], \"expected\": [\"union-variant-witness\"], \"passed\": false}, {\"check\": \"storage-class-cast regression 0\", \"actual\": [\"storage-class-cast\"], \"expected\": [\"storage-class-cast\"], \"passed\": true}, {\"check\": \"storage-class-cast regression 1\", \"actual\": [\"storage-class-cast\"], \"expected\": [\"storage-class-cast\"], \"passed\": true}, {\"check\": \"subobject-owner regression 0\", \"actual\": [\"subobject-owner\"], \"expected\": [\"subobject-owner\"], \"passed\": true}, {\"check\": \"subobject-owner regression 1\", \"actual\": [\"subobject-owner\"], \"expected\": [\"subobject-owner\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.914,"exit_code":1,"observations":[{"actual":[],"check":"well formed empty obligations","expected":[],"passed":true},{"actual":["address-not-owner"],"check":"address-not-owner regression 0","expected":["address-not-owner"],"passed":true},{"actual":["address-not-owner"],"check":"address-not-owner regression 1","expected":["address-not-owner"],"passed":true},{"actual":["epoch-validity"],"check":"epoch-validity regression 0","expected":["epoch-validity"],"passed":true},{"actual":["epoch-validity"],"check":"epoch-validity regression 1","expected":["epoch-validity"],"passed":true},{"actual":["one-past-dereference"],"check":"one-past-dereference regression 0","expected":["one-past-dereference"],"passed":true},{"actual":["one-past-dereference"],"check":"one-past-dereference regression 1","expected":["one-past-dereference"],"passed":true},{"actual":["raw-live-origin"],"check":"raw-live-origin regression 0","expected":["raw-live-origin"],"passed":true},{"actual":["raw-live-origin"],"check":"raw-live-origin regression 1","expected":["raw-live-origin"],"passed":true},{"actual":["integer-provenance"],"check":"integer-provenance regression 0","expected":["integer-provenance"],"passed":true},{"actual":["integer-provenance"],"check":"integer-provenance regression 1","expected":["integer-provenance"],"passed":true},{"actual":["reallocation-invalidation"],"check":"reallocation-invalidation regression 0","expected":["reallocation-invalidation"],"passed":true},{"actual":["reallocation-invalidation"],"check":"reallocation-invalidation regression 1","expected":["reallocation-invalidation"],"passed":true},{"actual":["zst-identity"],"check":"zst-identity regression 0","expected":["zst-identity"],"passed":true},{"actual":["zst-identity"],"check":"zst-identity regression 1","expected":["zst-identity"],"passed":true},{"actual":[],"check":"union-variant-witness regression 0","expected":["union-variant-witness"],"passed":false},{"actual":[],"check":"union-variant-witness regression 1","expected":["union-variant-witness"],"passed":false},{"actual":["storage-class-cast"],"check":"storage-class-cast regression 0","expected":["storage-class-cast"],"passed":true},{"actual":["storage-class-cast"],"check":"storage-class-cast regression 1","expected":["storage-class-cast"],"passed":true},{"actual":["subobject-owner"],"check":"subobject-owner regression 0","expected":["subobject-owner"],"passed":true},{"actual":["subobject-owner"],"check":"subobject-owner regression 1","expected":["subobject-owner"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"well formed empty obligations\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"address-not-owner regression 0\", \"actual\": [\"address-not-owner\"], \"expected\": [\"address-not-owner\"], \"passed\": true}, {\"check\": \"address-not-owner regression 1\", \"actual\": [\"address-not-owner\"], \"expected\": [\"address-not-owner\"], \"passed\": true}, {\"check\": \"epoch-validity regression 0\", \"actual\": [\"epoch-validity\"], \"expected\": [\"epoch-validity\"], \"passed\": true}, {\"check\": \"epoch-validity regression 1\", \"actual\": [\"epoch-validity\"], \"expected\": [\"epoch-validity\"], \"passed\": true}, {\"check\": \"one-past-dereference regression 0\", \"actual\": [\"one-past-dereference\"], \"expected\": [\"one-past-dereference\"], \"passed\": true}, {\"check\": \"one-past-dereference regression 1\", \"actual\": [\"one-past-dereference\"], \"expected\": [\"one-past-dereference\"], \"passed\": true}, {\"check\": \"raw-live-origin regression 0\", \"actual\": [\"raw-live-origin\"], \"expected\": [\"raw-live-origin\"], \"passed\": true}, {\"check\": \"raw-live-origin regression 1\", \"actual\": [\"raw-live-origin\"], \"expected\": [\"raw-live-origin\"], \"passed\": true}, {\"check\": \"integer-provenance regression 0\", \"actual\": [\"integer-provenance\"], \"expected\": [\"integer-provenance\"], \"passed\": true}, {\"check\": \"integer-provenance regression 1\", \"actual\": [\"integer-provenance\"], \"expected\": [\"integer-provenance\"], \"passed\": true}, {\"check\": \"reallocation-invalidation regression 0\", \"actual\": [\"reallocation-invalidation\"], \"expected\": [\"reallocation-invalidation\"], \"passed\": true}, {\"check\": \"reallocation-invalidation regression 1\", \"actual\": [\"reallocation-invalidation\"], \"expected\": [\"reallocation-invalidation\"], \"passed\": true}, {\"check\": \"zst-identity regression 0\", \"actual\": [\"zst-identity\"], \"expected\": [\"zst-identity\"], \"passed\": true}, {\"check\": \"zst-identity regression 1\", \"actual\": [\"zst-identity\"], \"expected\": [\"zst-identity\"], \"passed\": true}, {\"check\": \"union-variant-witness regression 0\", \"actual\": [], \"expected\": [\"union-variant-witness\"], \"passed\": false}, {\"check\": \"union-variant-witness regression 1\", \"actual\": [], \"expected\": [\"union-variant-witness\"], \"passed\": false}, {\"check\": \"storage-class-cast regression 0\", \"actual\": [\"storage-class-cast\"], \"expected\": [\"storage-class-cast\"], \"passed\": true}, {\"check\": \"storage-class-cast regression 1\", \"actual\": [\"storage-class-cast\"], \"expected\": [\"storage-class-cast\"], \"passed\": true}, {\"check\": \"subobject-owner regression 0\", \"actual\": [\"subobject-owner\"], \"expected\": [\"subobject-owner\"], \"passed\": true}, {\"check\": \"subobject-owner regression 1\", \"actual\": [\"subobject-owner\"], \"expected\": [\"subobject-owner\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.461,"exit_code":0,"observations":[{"actual":[],"check":"well formed empty obligations","expected":[],"passed":true},{"actual":["address-not-owner"],"check":"address-not-owner regression 0","expected":["address-not-owner"],"passed":true},{"actual":["address-not-owner"],"check":"address-not-owner regression 1","expected":["address-not-owner"],"passed":true},{"actual":["epoch-validity"],"check":"epoch-validity regression 0","expected":["epoch-validity"],"passed":true},{"actual":["epoch-validity"],"check":"epoch-validity regression 1","expected":["epoch-validity"],"passed":true},{"actual":["one-past-dereference"],"check":"one-past-dereference regression 0","expected":["one-past-dereference"],"passed":true},{"actual":["one-past-dereference"],"check":"one-past-dereference regression 1","expected":["one-past-dereference"],"passed":true},{"actual":["raw-live-origin"],"check":"raw-live-origin regression 0","expected":["raw-live-origin"],"passed":true},{"actual":["raw-live-origin"],"check":"raw-live-origin regression 1","expected":["raw-live-origin"],"passed":true},{"actual":["integer-provenance"],"check":"integer-provenance regression 0","expected":["integer-provenance"],"passed":true},{"actual":["integer-provenance"],"check":"integer-provenance regression 1","expected":["integer-provenance"],"passed":true},{"actual":["reallocation-invalidation"],"check":"reallocation-invalidation regression 0","expected":["reallocation-invalidation"],"passed":true},{"actual":["reallocation-invalidation"],"check":"reallocation-invalidation regression 1","expected":["reallocation-invalidation"],"passed":true},{"actual":["zst-identity"],"check":"zst-identity regression 0","expected":["zst-identity"],"passed":true},{"actual":["zst-identity"],"check":"zst-identity regression 1","expected":["zst-identity"],"passed":true},{"actual":["union-variant-witness"],"check":"union-variant-witness regression 0","expected":["union-variant-witness"],"passed":true},{"actual":["union-variant-witness"],"check":"union-variant-witness regression 1","expected":["union-variant-witness"],"passed":true},{"actual":["storage-class-cast"],"check":"storage-class-cast regression 0","expected":["storage-class-cast"],"passed":true},{"actual":["storage-class-cast"],"check":"storage-class-cast regression 1","expected":["storage-class-cast"],"passed":true},{"actual":["subobject-owner"],"check":"subobject-owner regression 0","expected":["subobject-owner"],"passed":true},{"actual":["subobject-owner"],"check":"subobject-owner regression 1","expected":["subobject-owner"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"well formed empty obligations\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"address-not-owner regression 0\", \"actual\": [\"address-not-owner\"], \"expected\": [\"address-not-owner\"], \"passed\": true}, {\"check\": \"address-not-owner regression 1\", \"actual\": [\"address-not-owner\"], \"expected\": [\"address-not-owner\"], \"passed\": true}, {\"check\": \"epoch-validity regression 0\", \"actual\": [\"epoch-validity\"], \"expected\": [\"epoch-validity\"], \"passed\": true}, {\"check\": \"epoch-validity regression 1\", \"actual\": [\"epoch-validity\"], \"expected\": [\"epoch-validity\"], \"passed\": true}, {\"check\": \"one-past-dereference regression 0\", \"actual\": [\"one-past-dereference\"], \"expected\": [\"one-past-dereference\"], \"passed\": true}, {\"check\": \"one-past-dereference regression 1\", \"actual\": [\"one-past-dereference\"], \"expected\": [\"one-past-dereference\"], \"passed\": true}, {\"check\": \"raw-live-origin regression 0\", \"actual\": [\"raw-live-origin\"], \"expected\": [\"raw-live-origin\"], \"passed\": true}, {\"check\": \"raw-live-origin regression 1\", \"actual\": [\"raw-live-origin\"], \"expected\": [\"raw-live-origin\"], \"passed\": true}, {\"check\": \"integer-provenance regression 0\", \"actual\": [\"integer-provenance\"], \"expected\": [\"integer-provenance\"], \"passed\": true}, {\"check\": \"integer-provenance regression 1\", \"actual\": [\"integer-provenance\"], \"expected\": [\"integer-provenance\"], \"passed\": true}, {\"check\": \"reallocation-invalidation regression 0\", \"actual\": [\"reallocation-invalidation\"], \"expected\": [\"reallocation-invalidation\"], \"passed\": true}, {\"check\": \"reallocation-invalidation regression 1\", \"actual\": [\"reallocation-invalidation\"], \"expected\": [\"reallocation-invalidation\"], \"passed\": true}, {\"check\": \"zst-identity regression 0\", \"actual\": [\"zst-identity\"], \"expected\": [\"zst-identity\"], \"passed\": true}, {\"check\": \"zst-identity regression 1\", \"actual\": [\"zst-identity\"], \"expected\": [\"zst-identity\"], \"passed\": true}, {\"check\": \"union-variant-witness regression 0\", \"actual\": [\"union-variant-witness\"], \"expected\": [\"union-variant-witness\"], \"passed\": true}, {\"check\": \"union-variant-witness regression 1\", \"actual\": [\"union-variant-witness\"], \"expected\": [\"union-variant-witness\"], \"passed\": true}, {\"check\": \"storage-class-cast regression 0\", \"actual\": [\"storage-class-cast\"], \"expected\": [\"storage-class-cast\"], \"passed\": true}, {\"check\": \"storage-class-cast regression 1\", \"actual\": [\"storage-class-cast\"], \"expected\": [\"storage-class-cast\"], \"passed\": true}, {\"check\": \"subobject-owner regression 0\", \"actual\": [\"subobject-owner\"], \"expected\": [\"subobject-owner\"], \"passed\": true}, {\"check\": \"subobject-owner regression 1\", \"actual\": [\"subobject-owner\"], \"expected\": [\"subobject-owner\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}