I was wondering, why does this code compile just fine with g++,
struct FileSystemMap {
    std::map<std::string, FileSystemMap> directories;
    std::map<std::string, std::string> files;
};
while this other doesn't?
struct FileSystemMap {
    std::unordered_map<std::string, FileSystemMap> directories;
    std::unordered_map<std::string, std::string> files;
};