clarify changed init signature
authorRalf Jung <post@ralfj.de>
Fri, 6 Apr 2018 11:13:33 +0000 (13:13 +0200)
committerRalf Jung <post@ralfj.de>
Fri, 6 Apr 2018 11:13:33 +0000 (13:13 +0200)
ralf/_posts/2018-04-05-a-formal-look-at-pinning.md

index 98e0477cf1a3f252c8eee937887cecccd4407ec2..98b53a18eea36c911f55de6f30f4733c83da360b 100644 (file)
@@ -89,7 +89,7 @@ fn main() {
 The most intersting piece of code here is `read_ref`, which dereferences a raw pointer.
 The reason this is legal is that we can rely on the entire `SelfReferential` not having been moved since `init()` was called (which is the only place that would set the pointer to `Some`).
 
 The most intersting piece of code here is `read_ref`, which dereferences a raw pointer.
 The reason this is legal is that we can rely on the entire `SelfReferential` not having been moved since `init()` was called (which is the only place that would set the pointer to `Some`).
 
-In particular, if we changed the signature of `init()` to take `&mut`, we could easily cause UB by writing the following code:
+In particular, if we changed the signature to `fn init(&mut self)`, we could easily cause UB by writing the following code:
 {% highlight rust %}
 fn main() {
     // Create an initialize a SelfReferential in a Box, move it out, and drop the Box
 {% highlight rust %}
 fn main() {
     // Create an initialize a SelfReferential in a Box, move it out, and drop the Box