Commit f5fab92
committed
fix(rss): let-mut clone of read-param init + List.get type inference on struct-field lists
GAP1 (lowerer.rs): let mut s = <read-param> lowered s to &T, so reassigning an owned T was
ill-typed (E0308). Now, tightly gated (let mut + initializer is exactly a read-param ident that
lowers to plain &T, non-Copy, non-retained-Managed), the init lowers to .clone() so the local
owns T. Narrow: no snapshot churn (checker_lowering 212 unchanged). GAP2 (hir.rs): infer_arg_expr_type
returned None for Expr::Field, so List.get(list: read s.xs) kept return type T (RS0210 at ==/arith);
now delegates field exprs to infer_hir_expr_type so List<Int> element type flows through. Full
cargo test green (0 failed). Subagent-produced, applied + reverified.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 5dd4063 commit f5fab92
2 files changed
Lines changed: 49 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2700 | 2700 | | |
2701 | 2701 | | |
2702 | 2702 | | |
2703 | | - | |
2704 | | - | |
| 2703 | + | |
| 2704 | + | |
2705 | 2705 | | |
2706 | 2706 | | |
2707 | 2707 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1598 | 1598 | | |
1599 | 1599 | | |
1600 | 1600 | | |
| 1601 | + | |
| 1602 | + | |
| 1603 | + | |
| 1604 | + | |
| 1605 | + | |
| 1606 | + | |
| 1607 | + | |
| 1608 | + | |
| 1609 | + | |
| 1610 | + | |
| 1611 | + | |
| 1612 | + | |
| 1613 | + | |
1601 | 1614 | | |
1602 | 1615 | | |
1603 | 1616 | | |
| |||
3893 | 3906 | | |
3894 | 3907 | | |
3895 | 3908 | | |
| 3909 | + | |
| 3910 | + | |
| 3911 | + | |
| 3912 | + | |
| 3913 | + | |
| 3914 | + | |
| 3915 | + | |
| 3916 | + | |
| 3917 | + | |
| 3918 | + | |
| 3919 | + | |
| 3920 | + | |
| 3921 | + | |
| 3922 | + | |
| 3923 | + | |
| 3924 | + | |
| 3925 | + | |
| 3926 | + | |
| 3927 | + | |
| 3928 | + | |
| 3929 | + | |
| 3930 | + | |
| 3931 | + | |
| 3932 | + | |
| 3933 | + | |
| 3934 | + | |
| 3935 | + | |
| 3936 | + | |
| 3937 | + | |
| 3938 | + | |
| 3939 | + | |
| 3940 | + | |
| 3941 | + | |
| 3942 | + | |
3896 | 3943 | | |
3897 | 3944 | | |
3898 | 3945 | | |
| |||
0 commit comments