The rust version includes reference counting, state verification (preventing access before initialisation) and locking. All "for free" by wrapping the original value.
In C you would have to write all that out. And still have a good chance of getting something wrong first try.