|
|
|
import
|
|
std/typetraits, preserves
|
|
|
|
type
|
|
Instance*[Cap] {.preservesRecord: "Instance".} = object
|
|
`name`*: string
|
|
`argument`*: Preserve[Cap]
|
|
|
|
proc `$`*[Cap](x: Instance[Cap]): string =
|
|
`$`(toPreserve(x, Cap))
|
|
|
|
proc encode*[Cap](x: Instance[Cap]): seq[byte] =
|
|
encode(toPreserve(x, Cap))
|