Commit 64a984b
committed
[move-only] Validate in the SILVerifier that we only have copy_addr [init]/load [copy] on move only values in Raw SIL.
This is already an invariant for copy_value and now that I am implementing move
semantics for addresses, it makes sense to ban those in a similar
way. Specifically, we are enforcing the invariant that move only types are
allowed to be copied in Raw SIL, but not in later parts of SIL. For those who
are unaware, we then run checkers later to validate that we preserve ownership
semantics.1 parent 2baa1e4 commit 64a984b
1 file changed
+12
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2189 | 2189 | | |
2190 | 2190 | | |
2191 | 2191 | | |
| 2192 | + | |
| 2193 | + | |
| 2194 | + | |
| 2195 | + | |
2192 | 2196 | | |
2193 | 2197 | | |
2194 | 2198 | | |
| |||
2655 | 2659 | | |
2656 | 2660 | | |
2657 | 2661 | | |
2658 | | - | |
2659 | | - | |
2660 | | - | |
2661 | | - | |
| 2662 | + | |
| 2663 | + | |
| 2664 | + | |
2662 | 2665 | | |
2663 | | - | |
| 2666 | + | |
2664 | 2667 | | |
2665 | | - | |
| 2668 | + | |
2666 | 2669 | | |
| 2670 | + | |
| 2671 | + | |
| 2672 | + | |
2667 | 2673 | | |
2668 | 2674 | | |
2669 | 2675 | | |
| |||
0 commit comments