diff options
-rw-r--r-- | compiler/commands.nim | 1 | ||||
-rw-r--r-- | lib/system.nim | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/compiler/commands.nim b/compiler/commands.nim index aae976038..1e5384f16 100644 --- a/compiler/commands.nim +++ b/compiler/commands.nim @@ -278,6 +278,7 @@ proc testCompileOption*(conf: ConfigRef; switch: string, info: TLineInfo): bool of "implicitstatic": result = contains(conf.options, optImplicitStatic) of "patterns": result = contains(conf.options, optPatterns) of "excessivestacktrace": result = contains(conf.globalOptions, optExcessiveStackTrace) + of "nilseqs": result = contains(conf.options, optNilSeqs) else: invalidCmdLineOption(conf, passCmd1, switch, info) proc processPath(conf: ConfigRef; path: string, info: TLineInfo, diff --git a/lib/system.nim b/lib/system.nim index 0a721d940..40447fd93 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -4049,8 +4049,9 @@ proc `==`*(x, y: cstring): bool {.magic: "EqCString", noSideEffect, else: result = strcmp(x, y) == 0 when defined(nimNoNilSeqs2): - proc `==`*(x: string; y: type(nil)): bool {.error.} = discard - proc `==`*(x: type(nil); y: string): bool {.error.} = discard + when not compileOption("nilseqs"): + proc `==`*(x: string; y: type(nil)): bool {.error.} = discard + proc `==`*(x: type(nil); y: string): bool {.error.} = discard template closureScope*(body: untyped): untyped = ## Useful when creating a closure in a loop to capture local loop variables by |