diff --git a/src/main.cpp b/src/main.cpp index c95e2e1..0ccfeb8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -16,7 +16,7 @@ int main(int argc, char* argv[]) { bool newLines = true; if (argc > 0) { - vector files; + set files; for (signed int i = 0; i < argc; ++i) { const string_view currentArg (argv[i]); @@ -28,7 +28,7 @@ int main(int argc, char* argv[]) { } else if (currentArg == Argument("parallel")) parallel = true; else if (currentArg == Argument("newlinesoff")) newLines = false; - else if (currentArg.ends_with(".ybcon")) files.push_back(currentArg); + else if (currentArg.ends_with(".ybcon")) files.insert(currentArg); } const auto compile = [&target, &newLines](string_view name) -> string { string transpiledString = transpile(parseString(getFileContent(name.data())), target, newLines); @@ -39,10 +39,9 @@ int main(int argc, char* argv[]) { return transpiledString; }; if (!files.empty()) { - const set uniqueFiles(files.begin(), files.end()); vector>>> Units; const launch& Policy = not parallel ? launch::deferred : launch::async; - for (const string_view& fileName: uniqueFiles) { + for (const string_view& fileName: files) { pair> returnedPair; Units.push_back(async(Policy, [&returnedPair, &fileName, &compile]() { try {