-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings.local.json
More file actions
52 lines (52 loc) · 5.13 KB
/
settings.local.json
File metadata and controls
52 lines (52 loc) · 5.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
"permissions": {
"allow": [
"Skill(superpowers:executing-plans)",
"Skill(superpowers:brainstorming)",
"Bash(wc:*)",
"WebSearch",
"WebFetch(domain:docs.rs)",
"WebFetch(domain:github.com)",
"WebFetch(domain:raw.githubusercontent.com)",
"Bash(cargo doc:*)",
"Bash(grep:*)",
"Bash(cat:*)",
"mcp__ide__getDiagnostics",
"Bash(cargo test:*)",
"Bash(cargo build:*)",
"Bash(cargo run:*)",
"Bash(xargs ls:*)",
"Bash(cargo check:*)",
"Bash(find:*)",
"Bash(gh issue create --title \"Fix Remaining 35 Rust Codegen Compilation Errors\" --body \"$\\(cat <<''EOF''\n## Problem\n\nThe Rust code generated by `naml run` produces 35 compilation errors, preventing programs from executing.\n\n## Error Breakdown\n\n| Error | Count | Root Cause |\n|-------|-------|------------|\n| E0308 | 17 | Type mismatches \\(closures ≠ fn pointers, compare method\\) |\n| E0382 | 8 | Use of moved value |\n| E0594 | 2 | Parameter needs `mut` keyword |\n| E0599 | 3 | Missing methods \\(compare, iter on String\\) |\n| E0277 | 3 | Missing trait bounds |\n| E0505/E0507 | 3 | Borrow/move conflicts |\n\n## Implementation Plan\n\n### 1. Fix Closure Return Types \\(E0308\\)\n- [ ] Detect when return type is `fn\\(A\\) -> B` and closure is returned\n- [ ] Change codegen to use `impl Fn\\(A\\) -> B` or `Box<dyn Fn\\(A\\) -> B>`\n- [ ] Handle closure capture semantics\n\n### 2. Add Parameter Mutability \\(E0594\\)\n- [ ] Analyze function body for assignments to parameters\n- [ ] Add `mut` keyword to parameters that are mutated\n- [ ] Create AST visitor to detect mutations\n\n### 3. Fix Use-After-Move \\(E0382\\)\n- [ ] Track variable usage in struct literals\n- [ ] Clone fields when used multiple times\n- [ ] Handle loop variable reuse\n\n### 4. Remove compare\\(\\) Method \\(E0599\\)\n- [ ] Replace `a.compare\\(b\\)` with `a.partial_cmp\\(&b\\)`\n- [ ] Or use comparison operators directly\n- [ ] Update generic function codegen\n\n### 5. Fix Remaining Borrow Conflicts \\(E0505/E0507\\)\n- [ ] Clone self fields before unwrap in `&self` methods\n- [ ] Use `.as_ref\\(\\)` where appropriate\n\n## Files to Modify\n\n- `namlc/src/codegen/rust/expressions.rs`\n- `namlc/src/codegen/rust/statements.rs`\n- `namlc/src/codegen/rust/mod.rs`\n\n## Acceptance Criteria\n\n- [ ] `naml run examples/simple.naml` compiles with 0 Rust errors\n- [ ] All existing tests pass\n- [ ] Generated Rust code is idiomatic\n\n## Related\n\n- Continues work from #3\nEOF\n\\)\" --label \"enhancement\" --label \"priority:critical\")",
"Bash(gh issue create --title \"Fix Remaining 35 Rust Codegen Compilation Errors\" --body \"$\\(cat <<''EOF''\n## Priority: 🔴 Critical\n\nThe Rust code generated by `naml run` produces 35 compilation errors, preventing programs from executing.\n\n## Error Breakdown\n\n| Error | Count | Root Cause |\n|-------|-------|------------|\n| E0308 | 17 | Type mismatches \\(closures ≠ fn pointers, compare method\\) |\n| E0382 | 8 | Use of moved value |\n| E0594 | 2 | Parameter needs `mut` keyword |\n| E0599 | 3 | Missing methods \\(compare, iter on String\\) |\n| E0277 | 3 | Missing trait bounds |\n| E0505/E0507 | 3 | Borrow/move conflicts |\n\n## Implementation Plan\n\n### 1. Fix Closure Return Types \\(E0308\\)\n- [ ] Detect when return type is `fn\\(A\\) -> B` and closure is returned\n- [ ] Change codegen to use `impl Fn\\(A\\) -> B` or `Box<dyn Fn\\(A\\) -> B>`\n- [ ] Handle closure capture semantics\n\n### 2. Add Parameter Mutability \\(E0594\\)\n- [ ] Analyze function body for assignments to parameters\n- [ ] Add `mut` keyword to parameters that are mutated\n- [ ] Create AST visitor to detect mutations\n\n### 3. Fix Use-After-Move \\(E0382\\)\n- [ ] Track variable usage in struct literals\n- [ ] Clone fields when used multiple times\n- [ ] Handle loop variable reuse\n\n### 4. Remove compare\\(\\) Method \\(E0599\\)\n- [ ] Replace `a.compare\\(b\\)` with `a.partial_cmp\\(&b\\)`\n- [ ] Or use comparison operators directly\n- [ ] Update generic function codegen\n\n### 5. Fix Remaining Borrow Conflicts \\(E0505/E0507\\)\n- [ ] Clone self fields before unwrap in `&self` methods\n- [ ] Use `.as_ref\\(\\)` where appropriate\n\n## Files to Modify\n\n- `namlc/src/codegen/rust/expressions.rs`\n- `namlc/src/codegen/rust/statements.rs`\n- `namlc/src/codegen/rust/mod.rs`\n\n## Acceptance Criteria\n\n- [ ] `naml run examples/simple.naml` compiles with 0 Rust errors\n- [ ] All existing tests pass\n- [ ] Generated Rust code is idiomatic\n\n## Related\n\n- Continues work from #3\nEOF\n\\)\" --label \"enhancement\")",
"Bash(gh issue view:*)",
"Skill(superpowers:using-git-worktrees)",
"Skill(superpowers:writing-plans)",
"Bash(gh issue list:*)",
"Bash(gh issue create:*)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Edit",
"hooks": [
{
"type": "command",
"command": ".claude/hooks/pre-edit.sh"
}
]
},
{
"matcher": "Write",
"hooks": [
{
"type": "command",
"command": ".claude/hooks/pre-write.sh"
}
]
}
]
}
}