aboutsummaryrefslogtreecommitdiff
path: root/docs/design/storage-analysis.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/design/storage-analysis.md')
-rw-r--r--docs/design/storage-analysis.md4
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/design/storage-analysis.md b/docs/design/storage-analysis.md
index 59fbcde..cff713a 100644
--- a/docs/design/storage-analysis.md
+++ b/docs/design/storage-analysis.md
@@ -18,9 +18,9 @@ unchecked fn example() {
## what stays unknown
-this is basic analysis of local facts, not a proof of the whole program. branches, loops, short-circuit operators, raw assembly, and nested compilation discard facts instead of merging uncertain paths. unknown callees invalidate facts about allocations passed to them. array mutations invalidate recorded lengths. pointer arithmetic, explicit casts, pointer-valued fields, stored aliases, and function return contracts are not inferred by this pass.
+this is analysis of compiler-recorded facts, not a proof of the whole program. branch and loop snapshots stay conservative where paths disagree. typed pointer arithmetic, casts, fields, element ranges, and checked function parameter effects carry provenance when the compiler can establish it. known array mutations advance a generation and invalidate older element borrows. an unknown call or opaque operation drops facts it may change; an inferred checked function summary can preserve facts for a read-only borrower.
-an unknown fact does not produce a definite warning. runtime array checks still run. the pass may miss an error across one of these boundaries; silence is not a safety guarantee. the broader analysis in [BORROW.md](../BORROW.md) remains a design plan.
+unknown facts do not produce definite bounds or lifetime findings. runtime array checks still run. unchecked code, raw assembly, integer-to-pointer casts, untyped word storage, and unknown native or indirect calls remain boundaries. the ownership and temporary-slot rules, including those limits, are described in [BORROW.md](../BORROW.md).
## editor previews