summaryrefslogtreecommitdiff
path: root/src/Expressions.ml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/Expressions.ml20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/Expressions.ml b/src/Expressions.ml
index bf06dd1e..e2eaf1e7 100644
--- a/src/Expressions.ml
+++ b/src/Expressions.ml
@@ -82,21 +82,21 @@ type operand =
Note that ADTs are desaggregated at some point in MIR. For instance, if
we have in Rust:
- ```
- let ls = Cons(hd, tl);
- ```
+ {[
+ let ls = Cons(hd, tl);
+ ]}
In MIR we have (yes, the discriminant update happens *at the end* for some
reason):
- ```
- (ls as Cons).0 = move hd;
- (ls as Cons).1 = move tl;
- discriminant(ls) = 0; // assuming `Cons` is the variant of index 0
- ```
+ {[
+ (ls as Cons).0 = move hd;
+ (ls as Cons).1 = move tl;
+ discriminant(ls) = 0; // assuming [Cons] is the variant of index 0
+ ]}
Note that in our semantics, we handle both cases (in case of desaggregated
- initialization, `ls` is initialized to `⊥`, then this `⊥` is expanded to
- `Cons (⊥, ⊥)` upon the first assignment, at which point we can initialize
+ initialization, [ls] is initialized to [⊥], then this [⊥] is expanded to
+ [Cons (⊥, ⊥)] upon the first assignment, at which point we can initialize
the field 0, etc.).
*)
type aggregate_kind =