How to express ownership semantics in zig?

Ownership is easy. But lifetime stuff is nowhere ‘enforced’

const Owner = struct
{
    // some stuff
};

const Thing = struct
{
    owner: *Owner, // reference to the owner

    fn init(owner: *Owner) Thing
    {
        return Thing { .owner = owner };
    }
}