This isn't true. The inverse is true, "expression statements" can turn an expression into a statement.
What you're seeing in the playground is just how blocks are defined[1]:
> The syntax for a block is {, then any inner attributes, then any number of statements, then an optional expression, called the final operand, and finally a }.
In this case, you have one statement, and no optional expression.
And so:
> The type of a block is the type of the final operand, or () if the final operand is omitted.
So that's how this works.
Now, that being said, I don't think it's too terrible of a mental model to think of this situation in that way. But if we're getting into nitty-gritty details, that's not actually how it works.
1. https://doc.rust-lang.org/stable/reference/expressions/block...