With my current code I keep on getting typeDesc and type instead of both of 
them being types. How do I fix this specific issue or is there already a better 
implementation?
    
    
    macro typecheck*(arg: typed, typ: typed) =
      ## Type check a proc name with args to types
      
      let argType = arg.getType.repr # Syms won't be the same for some reason
      let typType = typ.repr # Syms won't be the same for some reason
      if not (argType == typType and arg.getType.typeKind == 
typ.getType.typeKind):
        let message = "type mismatch\nExpected: '" & typType & "' got '" & 
argType & "'"
        return quote do:
          block:
            {.error: `message`.}
      return arg
    
    
    Run

Calls:
    
    
    echo typecheck(a, int)
    
    
    Run

Reply via email to