Skip to content

Commit

Permalink
Update E0716.md for clarity
Browse files Browse the repository at this point in the history
When reading through this, I got slightly hung up thinking the `let` it was referring to was the `let tmp` on line 25, which was confusing considering the comment states that the temporary is freed at the end of the block. I think adding this clarification could potentially help some beginners like myself without being overly verbose.
  • Loading branch information
carschandler authored Feb 5, 2024
1 parent ea37e80 commit 71a6973
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions compiler/rustc_error_codes/src/error_codes/E0716.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@ let q = p;

Whenever a temporary is created, it is automatically dropped (freed) according
to fixed rules. Ordinarily, the temporary is dropped at the end of the enclosing
statement -- in this case, after the `let`. This is illustrated in the example
above by showing that `tmp` would be freed as we exit the block.
statement -- in this case, after the outer `let` that assigns to `p`. This is
illustrated in the example above by showing that `tmp` would be freed as we exit
the block.

To fix this problem, you need to create a local variable to store the value in
rather than relying on a temporary. For example, you might change the original
Expand Down

0 comments on commit 71a6973

Please sign in to comment.