yes, it is dropped
pub fn drop<T>(_x: T) { }
https://doc.rust-lang.org/std/mem/fn.drop.html drop(x);
is a lot clearer than x;The main difference to C's free is that you simply cannot double-free a value (without using unsafe). That's because a value is only dropped when it falls out of scope -- and since it values only have one owner (and references must not outlive values) there cannot be any dangling references after it's dropped.
The documentation for std::mem::drop is explaining that dropping a value is a property of the language and scoping rules -- thus there is nothing for the function to do other than take a value and let it go out of scope.