123456789101112131415161718192021222324252627 |
- # issue #16128
- import std/[tables, hashes]
- type
- NodeId*[L] = object
- isSource: bool
- index: Table[NodeId[L], seq[NodeId[L]]]
- func hash*[L](id: NodeId[L]): Hash = discard
- func `==`[L](a, b: NodeId[L]): bool = discard
- proc makeIndex*[T, L](tree: T) =
- var parent = NodeId[L]()
- var tmp: Table[NodeId[L], seq[NodeId[L]]]
- tmp[parent] = @[parent]
- proc simpleTreeDiff*[T, L](source, target: T) =
- # Swapping these two lines makes error disappear
- var m: Table[NodeId[L], NodeId[L]]
- makeIndex[T, L](target)
- var tmp: Table[string, seq[string]] # removing this forward declaration also removes error
- proc diff(x1, x2: string): auto =
- simpleTreeDiff[int, string](12, 12)
|