@@ -58,7 +58,7 @@ struct ModuleGroup
5858 // target modules are involved in a cycle.
5959 //
6060 // The return value is malloc'd using C, so it must be freed after use.
61- private size_t [] genCyclePath (size_t srcidx, size_t targetidx, int [][] edges)
61+ private size_t [] genCyclePath (size_t srcidx, size_t targetidx, int [][] edges) nothrow
6262 {
6363 import core.bitop : bt, btc, bts;
6464
@@ -162,7 +162,7 @@ struct ModuleGroup
162162 * Throws:
163163 * Exception if it fails.
164164 */
165- void sortCtors (string cycleHandling)
165+ void sortCtors (string cycleHandling) nothrow
166166 {
167167 import core.bitop : bts, btr, bt, BitRange;
168168 import core.internal.container.hashtab ;
@@ -281,7 +281,7 @@ struct ModuleGroup
281281 .free(edges.ptr);
282282 }
283283
284- void buildCycleMessage (size_t sourceIdx, size_t cycleIdx, scope void delegate (string ) sink)
284+ void buildCycleMessage (size_t sourceIdx, size_t cycleIdx, scope void delegate (string ) nothrow sink)
285285 {
286286 version (Windows )
287287 enum EOL = " \r\n " ;
@@ -313,7 +313,7 @@ struct ModuleGroup
313313 //
314314 // If a cycle is detected, returns the index of the module that completes the cycle.
315315 // Returns: true for success, false for a deprecated cycle error
316- bool findDeps (size_t idx, size_t * reachable)
316+ bool findDeps (size_t idx, size_t * reachable) nothrow
317317 {
318318 static struct stackFrame
319319 {
@@ -411,7 +411,7 @@ struct ModuleGroup
411411 // ctor/dtors that must be dealt with. It recurses only when it finds
412412 // dependencies that also have static ctor/dtors.
413413 // Returns: true for success, false for a deprecated cycle error
414- bool processMod (size_t curidx)
414+ bool processMod (size_t curidx) nothrow
415415 {
416416 immutable ModuleInfo * current = _modules[curidx];
417417
@@ -454,7 +454,7 @@ struct ModuleGroup
454454 }
455455
456456 // returns `false` if deprecated cycle error otherwise set `result`.
457- bool doSort (size_t relevantFlags, ref immutable (ModuleInfo )* [] result)
457+ bool doSort (size_t relevantFlags, ref immutable (ModuleInfo )* [] result) nothrow
458458 {
459459 clearFlags(relevant);
460460 clearFlags(ctorstart);
0 commit comments