Skip to content

Commit 0da5a2f

Browse files
committed
docs(study): drop GraphView size claim
1 parent 530e0be commit 0da5a2f

1 file changed

Lines changed: 3 additions & 5 deletions

File tree

docs/study/echo-tour-de-code-with-commentary.tex

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ \subsection{3.2 Complete Call Trace}\label{complete-call-trace-1}
555555
├─[4] CREATE GRAPHVIEW
556556
│ GraphView::new(store) → GraphView<'_>
557557
│ FILE: crates/warp-core/src/graph_view.rs
558-
│ TYPE: Read-only wrapper (Copy, 8 bytes)
558+
│ TYPE: Read-only wrapper (Copy, lightweight)
559559
560560
├─[5] CALL MATCHER
561561
│ (rule.matcher)(view, scope) → bool
@@ -631,11 +631,9 @@ \subsection{3.2 Complete Call Trace}\label{complete-call-trace-1}
631631
\end{verbatim}
632632

633633
\begin{cleverpattern}
634-
\textbf{GraphView: The 8-Byte Read-Only Wrapper}
634+
\textbf{GraphView: The Read-Only Wrapper}
635635

636-
Step [4] creates a \texttt{GraphView}---and note it's only \textbf{8 bytes} and \texttt{Copy}! This is just a pointer to the underlying \texttt{GraphStore}, but wrapped in a type that only exposes read methods.
637-
638-
This is Rust's type system doing the heavy lifting: you literally \emph{cannot} mutate the graph through a \texttt{GraphView}. The compiler enforces read-only access, enabling safe concurrent reads without any runtime checks.
636+
Step [4] creates a \texttt{GraphView}---a lightweight, copyable handle to the underlying \texttt{GraphStore}. In enforcement builds, it optionally carries a guard reference. This is Rust's type system doing the heavy lifting: you literally \emph{cannot} mutate the graph through a \texttt{GraphView}. The compiler enforces read-only access, enabling safe concurrent reads without any runtime checks.
639637
\end{cleverpattern}
640638

641639
\begin{deepdive}

0 commit comments

Comments
 (0)