diff options
Diffstat (limited to 'compiler/cgmeth.nim')
-rw-r--r-- | compiler/cgmeth.nim | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/cgmeth.nim b/compiler/cgmeth.nim index 3c329ca05..c97b1b1aa 100644 --- a/compiler/cgmeth.nim +++ b/compiler/cgmeth.nim @@ -290,6 +290,9 @@ proc generateMethodDispatchers*(g: ModuleGraph): PNode = var relevantCols = initIntSet() for col in countup(1, sonsLen(g.methods[bucket].methods[0].typ) - 1): if relevantCol(g.methods[bucket].methods, col): incl(relevantCols, col) + if optMultiMethods notin g.config.globalOptions: + # if multi-methods are not enabled, we are interested only in the first field + break sortBucket(g.methods[bucket].methods, relevantCols) addSon(result, newSymNode(genDispatcher(g, g.methods[bucket].methods, relevantCols))) |