cgen,builtin: support for 64bit int 1 (#25236)
Some checks are pending
json encoder benchmark CI / json-encode-benchmark (push) Waiting to run
Graphics CI / gg-regressions (push) Waiting to run
vlib modules CI / build-module-docs (push) Waiting to run
native backend CI / native-backend-ubuntu (push) Waiting to run
native backend CI / native-backend-windows (push) Waiting to run
Shy and PV CI / v-compiles-puzzle-vibes (push) Waiting to run
Sanitized CI / sanitize-undefined-clang (push) Waiting to run
Sanitized CI / sanitize-undefined-gcc (push) Waiting to run
Sanitized CI / tests-sanitize-address-clang (push) Waiting to run
Sanitized CI / sanitize-address-msvc (push) Waiting to run
Sanitized CI / sanitize-address-gcc (push) Waiting to run
Sanitized CI / sanitize-memory-clang (push) Waiting to run
sdl CI / v-compiles-sdl-examples (push) Waiting to run
Time CI / time-linux (push) Waiting to run
Time CI / time-macos (push) Waiting to run
Time CI / time-windows (push) Waiting to run
toml CI / toml-module-pass-external-test-suites (push) Waiting to run
Tools CI / tools-linux (clang) (push) Waiting to run
Tools CI / tools-linux (gcc) (push) Waiting to run
Tools CI / tools-linux (tcc) (push) Waiting to run
Tools CI / tools-macos (clang) (push) Waiting to run
Tools CI / tools-windows (gcc) (push) Waiting to run
Tools CI / tools-windows (msvc) (push) Waiting to run
Tools CI / tools-windows (tcc) (push) Waiting to run
Tools CI / tools-docker-ubuntu-musl (push) Waiting to run
vab CI / vab-compiles-v-examples (push) Waiting to run
vab CI / v-compiles-os-android (push) Waiting to run
wasm backend CI / wasm-backend (ubuntu-22.04) (push) Waiting to run
wasm backend CI / wasm-backend (windows-2022) (push) Waiting to run

This commit is contained in:
kbkpbot 2025-09-13 15:03:52 +08:00 committed by GitHub
parent 64343168c6
commit c221b3226b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
48 changed files with 610 additions and 370 deletions

View file

@ -105,3 +105,23 @@ fn test_sum_types() {
j := json.encode(animals[0])
assert j == '{"cat_name":"Whiskers","_type":"Cat"}'
}
type Value = string | i32
struct Node {
value Value
}
fn test_sum_types_with_i32() {
data1 := json.encode([Node{i32(128)}, Node{'mystring'}])
assert data1 == '[{"value":128},{"value":"mystring"}]'
node := json.decode([]Node, data1) or {
println(err)
assert false
return
}
assert node.len == 2
assert node[0].value == Value(i32(128))
assert node[1].value == Value('mystring')
}