From e7c7f86455a94042c4bd7e89dd2ce480d58bfd17 Mon Sep 17 00:00:00 2001 From: WebFreak001 <gh@webfreak.org> Date: Thu, 13 Oct 2022 17:33:58 +0200 Subject: [PATCH] fix mutating list while iterating over it --- dsymbol/src/dsymbol/modulecache.d | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dsymbol/src/dsymbol/modulecache.d b/dsymbol/src/dsymbol/modulecache.d index 0985126..7240176 100644 --- a/dsymbol/src/dsymbol/modulecache.d +++ b/dsymbol/src/dsymbol/modulecache.d @@ -107,6 +107,8 @@ struct ModuleCache */ void removeImportPaths(const string[] paths) { + import std.array : array; + foreach (path; paths[]) { if (!importPaths[].canFind!(a => a.path == path)) @@ -115,7 +117,7 @@ struct ModuleCache continue; } - foreach (ref importPath; importPaths[].filter!(a => a.path == path)) + foreach (ref importPath; importPaths[].filter!(a => a.path == path).array) importPaths.remove(importPath); foreach (cacheEntry; cache[])