> That vote appears to have assumed an ABI breaking replacement of
std::thread::native_handle_type etc.
If I recall correctly the concern was about any potential new handle like type added in the future which would be ABI breaking for anyone using the proposed union; not that the proposed union itself would be an ABI break.
The discussion with std::thread was Bill explaining to the room that thread’s native_handle_type might not exist, hence the subsequent vote saying that we need to require that fstream’s equivalent exist; that we can’t use the same wording from thread.
> Under my proposal, native handle types can be invalid i.e. empty.
Right, the room wanted to make sure at a minimum that happened, that an implementation couldn’t just not provide the type at all.
Billy3