@@ -58,7 +58,7 @@ struct ModuleGroup
58
58
// target modules are involved in a cycle.
59
59
//
60
60
// 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
62
62
{
63
63
import core.bitop : bt, btc, bts;
64
64
@@ -162,7 +162,7 @@ struct ModuleGroup
162
162
* Throws:
163
163
* Exception if it fails.
164
164
*/
165
- void sortCtors (string cycleHandling)
165
+ void sortCtors (string cycleHandling) nothrow
166
166
{
167
167
import core.bitop : bts, btr, bt, BitRange;
168
168
import core.internal.container.hashtab ;
@@ -281,7 +281,7 @@ struct ModuleGroup
281
281
.free(edges.ptr);
282
282
}
283
283
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)
285
285
{
286
286
version (Windows )
287
287
enum EOL = " \r\n " ;
@@ -313,7 +313,7 @@ struct ModuleGroup
313
313
//
314
314
// If a cycle is detected, returns the index of the module that completes the cycle.
315
315
// 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
317
317
{
318
318
static struct stackFrame
319
319
{
@@ -411,7 +411,7 @@ struct ModuleGroup
411
411
// ctor/dtors that must be dealt with. It recurses only when it finds
412
412
// dependencies that also have static ctor/dtors.
413
413
// Returns: true for success, false for a deprecated cycle error
414
- bool processMod (size_t curidx)
414
+ bool processMod (size_t curidx) nothrow
415
415
{
416
416
immutable ModuleInfo * current = _modules[curidx];
417
417
@@ -454,7 +454,7 @@ struct ModuleGroup
454
454
}
455
455
456
456
// 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
458
458
{
459
459
clearFlags(relevant);
460
460
clearFlags(ctorstart);
0 commit comments