declval<FilesystemInfoImpl<DirectoryInfoImpl>>() is not FileSystemInfoImpl<FileSystemInfo>
for pretty much exactly the same reason that declval<List<SubType>>() is not List<SuperType>
This caused spurious ArgumentExceptions when attempting to get relative paths between two on-disk files.
This caused spurious
ArgumentException
s when attempting to get relative paths between two on-disk files.