disabled non-documented overloading rule for templates and macros
This commit is contained in:
parent
bd1dfa4b38
commit
1b22a3b346
3 changed files with 21 additions and 14 deletions
|
|
@ -1859,6 +1859,9 @@ proc paramTypesMatchAux(m: var TCandidate, f, a: PType,
|
||||||
|
|
||||||
var r = typeRel(m, f, a)
|
var r = typeRel(m, f, a)
|
||||||
|
|
||||||
|
when false:
|
||||||
|
# This special typing rule for macros and templates is not documented
|
||||||
|
# anywhere and breaks symmetry.
|
||||||
if r != isNone and m.calleeSym != nil and
|
if r != isNone and m.calleeSym != nil and
|
||||||
m.calleeSym.kind in {skMacro, skTemplate}:
|
m.calleeSym.kind in {skMacro, skTemplate}:
|
||||||
# XXX: duplicating this is ugly, but we cannot (!) move this
|
# XXX: duplicating this is ugly, but we cannot (!) move this
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ proc innerHash(state: var Sha1State, w: var Sha1Buffer) =
|
||||||
var round = 0
|
var round = 0
|
||||||
|
|
||||||
template rot(value, bits: uint32): uint32 =
|
template rot(value, bits: uint32): uint32 =
|
||||||
(value shl bits) or (value shr (32 - bits))
|
(value shl bits) or (value shr (32u32 - bits))
|
||||||
|
|
||||||
template sha1(fun, val: uint32) =
|
template sha1(fun, val: uint32) =
|
||||||
let t = rot(a, 5) + fun + e + val + w[round]
|
let t = rot(a, 5) + fun + e + val + w[round]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,10 @@
|
||||||
discard """
|
discard """
|
||||||
|
disabled: "true"
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
# disabled: relied on undocumented overloading rules. Too much work
|
||||||
|
# to make this sane.
|
||||||
|
|
||||||
import macros, strUtils
|
import macros, strUtils
|
||||||
|
|
||||||
proc symToIdent(x: NimNode): NimNode =
|
proc symToIdent(x: NimNode): NimNode =
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue