From b4e38cb4987b1eeca441bfb405b64951ea27810f Mon Sep 17 00:00:00 2001 From: Araq Date: Thu, 27 Nov 2014 09:28:48 +0100 Subject: [PATCH] fixes #1657 --- compiler/semexprs.nim | 8 ++++++-- tests/overload/tsystemcmp.nim | 9 +++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 tests/overload/tsystemcmp.nim diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index 73c778530e..544d59491f 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -960,9 +960,13 @@ proc builtinFieldAccess(c: PContext, n: PNode, flags: TExprFlags): PNode = var s = qualifiedLookUp(c, n, {checkAmbiguity, checkUndeclared}) if s != nil: - markUsed(n.sons[1].info, s) + if s.kind in OverloadableSyms: + result = symChoice(c, n, s, scClosed) + else: + markUsed(n.sons[1].info, s) + result = semSym(c, n, s, flags) styleCheckUse(n.sons[1].info, s) - return semSym(c, n, s, flags) + return n.sons[0] = semExprWithType(c, n.sons[0], flags+{efDetermineType}) #restoreOldStyleType(n.sons[0]) diff --git a/tests/overload/tsystemcmp.nim b/tests/overload/tsystemcmp.nim new file mode 100644 index 0000000000..54dff0c46c --- /dev/null +++ b/tests/overload/tsystemcmp.nim @@ -0,0 +1,9 @@ +discard """ + cmd: r"nim c --hints:on $options --threads:on $file" +""" + +import algorithm + +# bug #1657 +var modules = @["hi", "ho", "ha", "huu"] +sort(modules, system.cmp)