adds a test case (#24518)

closes #19698

(cherry picked from commit 801733f286)
This commit is contained in:
ringabout
2024-12-06 20:19:57 +08:00
committed by narimiran
parent 85c8b5b304
commit 105e134c3f

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()