What happens if you remove the do-nothing destructor? Essentially the only difference here is the presence of the destructor in the class vs struct and the corresponding call during destruction.