40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown
# Sprint 48 Plan: C++ Semantic Raising from Core IR
|
|
|
|
## Context
|
|
|
|
Sprint 48 implements the first production target backend for the new IR: modern
|
|
C++. The goal is to generate reviewable, idiomatic C++ while preserving behavior
|
|
contracts and memory safety intent from Rust lowering.
|
|
|
|
---
|
|
|
|
## Goals
|
|
|
|
1. Raise IR ownership semantics into RAII-centric C++
|
|
2. Generate idiomatic type, error, and algorithmic constructs
|
|
3. Produce compilable project artifacts (headers, sources, CMake)
|
|
4. Emit explicit risk annotations where semantics are weaker than Rust
|
|
|
|
---
|
|
|
|
## Steps
|
|
|
|
### Step 709: Ownership mapping policy engine (`unique_ptr/shared_ptr/value`) (12 tests)
|
|
### Step 710: Borrow semantics to references/views strategy (10 tests)
|
|
### Step 711: Trait-to-interface/composition raising (10 tests)
|
|
### Step 712: Generics/template raising policy (10 tests)
|
|
### Step 713: Error model mapping (`Result` policy profiles) (10 tests)
|
|
### Step 714: Async mapping strategy (coroutines/task runtime profiles) (10 tests)
|
|
### Step 715: STL algorithm lifting from IR intent tags (8 tests)
|
|
### Step 716: Build artifact generator (CMake targets + layout) (8 tests)
|
|
### Step 717: `whetstone_generate_cpp_from_ir` MCP tool (8 tests)
|
|
### Step 718: Sprint 48 integration summary + regression (8 tests)
|
|
|
|
---
|
|
|
|
## Output Profiles
|
|
|
|
- `safe-first`: explicit checks, conservative ownership, clearer diagnostics
|
|
- `perf-first`: low-overhead defaults, reduced abstraction layers
|
|
- `interop-first`: ABI-friendly shapes for mixed-language systems
|