feat: match guards, HOF inference, ownership C.2/C.3, LSP sema hover

Sessions 18–23 quality work:

- B.3c match arm guards + sequential found-flag lower (bootstrap + selfhost)
- Generic HOF type inference (Array/Iter map/filter/fold without type args)
- Pattern binding shadowing via unique C locals (__pN_src)
- Ownership C.2 exclusive &mut data-flow + C.4 goldens; *p= store-through fix
- Ownership C.3 auto-drop on early return/branches: scoped defers, move-on-return,
  Drop monomorphization, materialize return before Drop
- LSP 0.3.0: hover from real sema types
- Examples and QUALITY_PLAN session log; selfhost-loop identical
This commit is contained in:
2026-07-18 21:52:14 +03:00
parent 66f11d1869
commit 3eb1ad3a82
25 changed files with 2246 additions and 457 deletions
@@ -0,0 +1,6 @@
[Package]
Name = "exclusive_mut_let"
Version = "0.1.0"
Type = "bin"
[Build]
Output = "Bin"
@@ -0,0 +1,7 @@
error: type errors in project
error: cannot mutably borrow 'x': already mutably borrowed
--> FILE:5:23
|
5 | let b: &mut int = &x;
| ^
= help: only one active '&mut' borrow is allowed at a time; end the borrow before reuse
@@ -0,0 +1,7 @@
@[Checked]
func Main() -> int {
var x: int = 1;
let a: &mut int = &x;
let b: &mut int = &x;
return 0;
}