Re-introduce placeholder

This commit is contained in:
Tanguy 2022-06-20 15:03:55 +02:00
parent b4bed3ff52
commit ab4d65ac83
No known key found for this signature in database
GPG Key ID: 7DD8EC6B6CE6C45E

View File

@ -1,12 +1,15 @@
import std/options
import std/macros
proc placeholder(T: type): T =
discard
template questionableUnpack*[T](expression: Option[T]): (T, bool) =
## Used internally
let option = expression
type T = typeof(option.unsafeGet())
let res = if option.isSome: option.unsafeGet() else: default(T)
let res = if option.isSome: option.unsafeGet() else: placeholder(T)
(res, option.isSome)
macro `=?`*(name, expression): bool =