The filesystem test was confused about access versus write / modification time. The spec says:
file_time_type last_write_time(const path& p, error_code& ec) noexcept; Returns: The time of last data modification of p, determined as if by the value of the POSIX stat structure member st_mtime obtained as if by POSIX stat(). The signature with argument ec returns file_time_type::min() if an error occurs.
The test was looking at st_atime, not st_mtime, when comparing the result from last_write_time. That was probably due to using a pair instead of naming things nicely or using types. I opted to rename things so it's clearer.
This caused test bot failures.
rdar://problem/40648859
We need a comment explaining the intention of this check. Do you know what are the values when the test fails?
I have another (not tested) interpretation of the test that consistently compares write times with write times and access times with access times.
I am suspicious about the suggested condition LastWriteTime(file) == file_write_time as I expect it to be false all the time.