adds a test case (#24518)

closes #19698
This commit is contained in:
ringabout
2024-12-06 20:19:57 +08:00
committed by GitHub
parent 6f4106bf5d
commit 801733f286

View File

@@ -54,5 +54,33 @@ template main() =
doAssert c == "foo"
when not defined(js):
block: # bug #19698
type
FormatInfo = object
readproc: ReadProc
writeproc: WriteProc
ReadProc = proc (s: pointer)
WriteProc = proc (s: pointer)
func initFormatInfo(readproc: ReadProc, writeproc: WriteProc = nil): FormatInfo {.compileTime.} =
result = FormatInfo(readproc: readproc, writeproc: nil)
proc readSampleImage(s: pointer) = discard
const SampleFormatInfo = initFormatInfo(readproc = readSampleImage)
const KnownFormats = [SampleFormatInfo]
func sortedFormatInfos(): array[len KnownFormats, FormatInfo] {.compileTime.} =
result = default(array[len KnownFormats, FormatInfo])
for i, info in KnownFormats:
result[i] = info
const SortedFormats = sortedFormatInfos()
discard SortedFormats
static: main()
main()