Quick actions

cmd+k|ctrl+k

Navigation

Languages

Typeinfo Compare

Snippet info

Language

Nim

Visibility

unlisted

Author

legacy-anonymous

Created

2017-01-23T09:12:08Z

Updated

2017-01-23T09:12:08Z

import typeinfo

type CustomAny* = object
    value: pointer
    rawType: pointer

proc customToAny*[T](x: var T): CustomAny {.inline.} =
  result = cast[CustomAny](toAny(x))

proc compareRuntimeTypes[A, B](a: var A, b: var B): bool =
  result = customToAny(a).rawType == customToAny(b).rawType

var x = "hello world"
var y = ("hello", "world")
var z = "goodbye"

echo compareRuntimeTypes(x, y)
echo compareRuntimeTypes(x, z)
INFO