Rust () type has a value whereas C void has no value: so what?

100 points iIGamingWithRayIi

From what I’ve read both here and on Stack Exchange, although void and () both indicate a function whose return value isn’t useful, () has a value meaning you can assign it to a variable, unlike void. However, () only has one value, and said value occupies no memory, so what’s the point? () doesn’t hold any meaningful information, it doesn’t even exist in memory, so what difference does it being assignable make?