Recover parenthesized object declarations only when their apparent parameters resolve to earlier visible value bindings. Respect recovered scope, alias hiding and prototype shadowing instead of manufacturing receiver types. Preserve heuristic confidence and source provenance. Add positive and negative regressions plus a three-repeat labeled initialization fixture to the quality gate. Validation: cargo fmt --check and ./scripts/quality-gate.sh passed.
24 lines
1.1 KiB
JSON
24 lines
1.1 KiB
JSON
{
|
|
"hypothesis": "Recover declared receiver types for parenthesized C++ local initialization when each apparent parameter is a previously bound visible value; do not infer receivers from genuine prototypes or out-of-scope values.",
|
|
"owner": "src/source.rs::cpp_local_types",
|
|
"fixtures": [
|
|
"cpp_initialization",
|
|
"cpp_xtu",
|
|
"source_languages"
|
|
],
|
|
"expected": {
|
|
"increases": [
|
|
"labeled main/use -> YamsDaemon::runLoop call resolution"
|
|
],
|
|
"preserves": [
|
|
"schema_version",
|
|
"existing symbol IDs",
|
|
"heuristic confidence 0.65",
|
|
"call provenance",
|
|
"clean-negative unresolved receiver outcomes",
|
|
"unrelated edges"
|
|
]
|
|
},
|
|
"negative_contract": "Negative fixtures are grammar-readable but deliberately ill-formed C++ member uses on prototypes or absent receivers. The expected result is no resolved call, not successful compiler type checking.",
|
|
"decision": "keep bounded recovery: focused regressions and three-repeat exact-label comparison pass; no language-wide precision, dead-code, or performance claim"
|
|
}
|