In the current local-submodule-visibility mode, as soon as we discover a virtual destructor, we declare on demand a global delete operator. However, this causes that this delete operator is owned by the submodule which contains said virtual destructor. This means that other modules no longer can see the global delete operator which is hidden inside another submodule and fail to compile.
This patch unhides those global allocation function once they're created to prevent this issue.
Let's just unconditionally setHidden(false) and leave the owning module alone.
(On reflection, changing the owning module is problematic because we'll assert if the declaration is not already marked as hidden, which the above checks are not sufficient to ensure, and it doesn't seem necessary, since the owning module doesn't have any visibility impact if the declaration is not hidden.)
I'd also prefer to not restrict this to local visibility mode / to the case where we have a current module if we don't need to (and as far as I can tell, we shouldn't need to do so).