fixes #3686
This commit is contained in:
parent
9687ea3c3e
commit
312281c7cc
2 changed files with 15 additions and 5 deletions
|
|
@ -1301,11 +1301,8 @@ proc paramTypesMatchAux(m: var TCandidate, f, argType: PType,
|
||||||
arg.typ.n = evaluated
|
arg.typ.n = evaluated
|
||||||
argType = arg.typ
|
argType = arg.typ
|
||||||
|
|
||||||
var
|
var a = argType
|
||||||
a = if c.inTypeClass > 0: argType.skipTypes({tyTypeDesc, tyFieldAccessor})
|
var r = typeRel(m, f, a)
|
||||||
else: argType
|
|
||||||
|
|
||||||
r = typeRel(m, f, a)
|
|
||||||
|
|
||||||
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}:
|
||||||
|
|
|
||||||
13
tests/concepts/tmonoid.nim
Normal file
13
tests/concepts/tmonoid.nim
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
discard """
|
||||||
|
output: '''true'''
|
||||||
|
"""
|
||||||
|
|
||||||
|
# bug #3686
|
||||||
|
|
||||||
|
type Monoid = concept x, y
|
||||||
|
x + y is type(x)
|
||||||
|
type(z(type(x))) is type(x)
|
||||||
|
|
||||||
|
proc z(x: typedesc[int]): int = 0
|
||||||
|
|
||||||
|
echo(int is Monoid)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue