@ttsc/win32-arm64 0.33.1 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/go/VERSION +2 -2
- package/bin/go/bin/go.exe +0 -0
- package/bin/go/bin/gofmt.exe +0 -0
- package/bin/go/lib/time/update.bash +2 -2
- package/bin/go/lib/time/zoneinfo.zip +0 -0
- package/bin/go/pkg/include/asm_ppc64x.h +0 -16
- package/bin/go/pkg/tool/windows_arm64/asm.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/cgo.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/compile.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/cover.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/fix.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/link.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/preprofile.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/vet.exe +0 -0
- package/bin/go/src/archive/tar/reader.go +2 -1
- package/bin/go/src/archive/zip/reader.go +5 -29
- package/bin/go/src/archive/zip/struct.go +5 -6
- package/bin/go/src/archive/zip/writer.go +120 -60
- package/bin/go/src/bufio/bufio.go +1 -1
- package/bin/go/src/bytes/buffer.go +3 -3
- package/bin/go/src/bytes/bytes.go +45 -25
- package/bin/go/src/compress/flate/deflate.go +512 -363
- package/bin/go/src/compress/flate/deflatefast.go +156 -262
- package/bin/go/src/compress/flate/dict_decoder.go +1 -4
- package/bin/go/src/compress/flate/huffman_bit_writer.go +673 -250
- package/bin/go/src/compress/flate/huffman_code.go +164 -92
- package/bin/go/src/compress/flate/level1.go +195 -0
- package/bin/go/src/compress/flate/level2.go +190 -0
- package/bin/go/src/compress/flate/level3.go +228 -0
- package/bin/go/src/compress/flate/level4.go +200 -0
- package/bin/go/src/compress/flate/level5.go +287 -0
- package/bin/go/src/compress/flate/level6.go +297 -0
- package/bin/go/src/compress/flate/load_store.go +43 -0
- package/bin/go/src/compress/flate/regmask_amd64.go +9 -0
- package/bin/go/src/compress/flate/regmask_other.go +11 -0
- package/bin/go/src/compress/flate/token.go +238 -26
- package/bin/go/src/compress/gzip/gzip.go +8 -0
- package/bin/go/src/compress/zlib/writer.go +12 -0
- package/bin/go/src/context/context.go +6 -5
- package/bin/go/src/crypto/cipher/gcm.go +0 -4
- package/bin/go/src/crypto/crypto.go +27 -4
- package/bin/go/src/crypto/des/const.go +1 -1
- package/bin/go/src/crypto/ecdsa/ecdsa.go +21 -4
- package/bin/go/src/crypto/ed25519/ed25519.go +13 -0
- package/bin/go/src/crypto/internal/boring/aes.go +2 -3
- package/bin/go/src/crypto/internal/cryptotest/aead.go +53 -0
- package/bin/go/src/crypto/internal/cryptotest/boundary.go +34 -0
- package/bin/go/src/crypto/internal/cryptotest/boundary_compat.go +16 -0
- package/bin/go/src/crypto/internal/cryptotest/fetchmodule.go +9 -3
- package/bin/go/src/crypto/internal/cryptotest/fips140.go +62 -3
- package/bin/go/src/crypto/internal/cryptotest/hash.go +14 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/go.mod +19 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/go.sum +27 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/schema_gen.go +151 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/schema.go +9792 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/schemaversion.go +11 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/wycheproof.go +165 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/go.mod +14 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/go.sum +25 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/schema_gen.go +125 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/schema.go +591 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/schemaversion.go +14 -0
- package/bin/go/src/crypto/internal/fips140/aes/_asm/ctr/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/aes/_asm/standard/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/gcm_amd64_asm.go +36 -32
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/go.mod +5 -5
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/go.sum +8 -6
- package/bin/go/src/crypto/internal/fips140/aes/gcm/gcm_amd64.s +29 -17
- package/bin/go/src/crypto/internal/fips140/aes/gcm/gcm_arm64.s +73 -72
- package/bin/go/src/crypto/internal/fips140/aes/gcm/ghash.go +140 -124
- package/bin/go/src/crypto/internal/fips140/bigmod/nat.go +18 -0
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_loong64.s +23 -0
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_none.go +1 -1
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_stub.go +1 -1
- package/bin/go/src/crypto/internal/fips140/drbg/rand.go +12 -4
- package/bin/go/src/crypto/internal/fips140/ecdsa/ecdsa.go +17 -10
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/_asm/fe_amd64_asm.go +0 -90
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe.go +64 -97
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64.go +0 -5
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64.s +0 -167
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64_noasm.go +0 -2
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_generic.go +57 -1
- package/bin/go/src/crypto/internal/fips140/edwards25519/scalarmult.go +3 -2
- package/bin/go/src/crypto/internal/fips140/mldsa/mldsa.go +31 -25
- package/bin/go/src/crypto/internal/fips140/mldsa/semiexpanded.go +2 -2
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/go.mod +4 -4
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/go.sum +6 -0
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/p256_asm.go +1 -613
- package/bin/go/src/crypto/internal/fips140/nistec/p256.go +2 -2
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm.go +7 -6
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm_amd64.s +0 -503
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm_arm64.s +4 -429
- package/bin/go/src/crypto/internal/fips140/nistec/p256_ordinv.go +511 -47
- package/bin/go/src/crypto/internal/fips140/pbkdf2/pbkdf2.go +1 -1
- package/bin/go/src/crypto/internal/fips140/rsa/keygen.go +48 -46
- package/bin/go/src/crypto/internal/fips140/rsa/largeexponent.go +365 -0
- package/bin/go/src/crypto/internal/fips140/rsa/pkcs1v15.go +27 -0
- package/bin/go/src/crypto/internal/fips140/sha256/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/sha3/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/sha512/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/constant_time.go +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/xor_asm.go +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/xor_riscv64.go +18 -0
- package/bin/go/src/crypto/internal/fips140/subtle/xor_riscv64.s +33 -2
- package/bin/go/src/crypto/internal/fips140deps/cpu/cpu.go +2 -0
- package/bin/go/src/crypto/internal/fips140deps/time/time.go +7 -4
- package/bin/go/src/crypto/internal/fips140only/fips140only.go +0 -7
- package/bin/go/src/crypto/internal/fips140only/random_fips140v1.0.go +17 -0
- package/bin/go/src/crypto/internal/fips140only/random_fips140v1.28.go +16 -0
- package/bin/go/src/crypto/internal/fips140test/acvp_capabilities_fips140v1.28.json +86 -0
- package/bin/go/src/crypto/internal/fips140test/acvp_test_fips140v1.28.config.json +58 -0
- package/bin/go/src/crypto/internal/rand/rand.go +14 -14
- package/bin/go/src/crypto/internal/rand/random_fips140v1.0.go +20 -0
- package/bin/go/src/crypto/internal/rand/random_fips140v1.28.go +19 -0
- package/bin/go/src/crypto/mldsa/mldsa.go +97 -0
- package/bin/go/src/crypto/mldsa/mldsa_fips140v1.0.go +116 -0
- package/bin/go/src/crypto/mldsa/mldsa_fips140v1.26.go +226 -0
- package/bin/go/src/crypto/mlkem/mlkem.go +8 -2
- package/bin/go/src/crypto/rsa/fips.go +26 -8
- package/bin/go/src/crypto/rsa/pkcs1v15.go +2 -2
- package/bin/go/src/crypto/rsa/rsa.go +25 -2
- package/bin/go/src/crypto/sha1/sha1block_decl.go +1 -1
- package/bin/go/src/crypto/sha1/sha1block_generic.go +1 -1
- package/bin/go/src/crypto/sha1/sha1block_loong64.s +24 -8
- package/bin/go/src/crypto/sha1/sha1block_riscv64.s +225 -0
- package/bin/go/src/crypto/sha3/sha3.go +3 -2
- package/bin/go/src/crypto/tls/alert.go +2 -0
- package/bin/go/src/crypto/tls/auth.go +31 -0
- package/bin/go/src/crypto/tls/bogo_config.json +12 -23
- package/bin/go/src/crypto/tls/cipher_suites.go +3 -11
- package/bin/go/src/crypto/tls/common.go +106 -59
- package/bin/go/src/crypto/tls/common_string.go +18 -5
- package/bin/go/src/crypto/tls/conn.go +33 -35
- package/bin/go/src/crypto/tls/defaults.go +26 -20
- package/bin/go/src/crypto/tls/defaults_fips140.go +9 -0
- package/bin/go/src/crypto/tls/ech.go +9 -4
- package/bin/go/src/crypto/tls/generate_cert.go +8 -2
- package/bin/go/src/crypto/tls/handshake_client.go +17 -17
- package/bin/go/src/crypto/tls/handshake_client_tls13.go +8 -3
- package/bin/go/src/crypto/tls/handshake_server.go +26 -19
- package/bin/go/src/crypto/tls/handshake_server_tls13.go +8 -5
- package/bin/go/src/crypto/tls/key_agreement.go +5 -1
- package/bin/go/src/crypto/tls/key_schedule.go +42 -17
- package/bin/go/src/crypto/tls/prf.go +1 -1
- package/bin/go/src/crypto/tls/quic.go +6 -7
- package/bin/go/src/crypto/tls/tls.go +25 -29
- package/bin/go/src/crypto/x509/cert_pool.go +8 -4
- package/bin/go/src/crypto/x509/constraints.go +5 -0
- package/bin/go/src/crypto/x509/parser.go +101 -15
- package/bin/go/src/crypto/x509/pkcs8.go +45 -4
- package/bin/go/src/crypto/x509/pkix/pkix.go +33 -9
- package/bin/go/src/crypto/x509/root.go +113 -0
- package/bin/go/src/crypto/x509/root_darwin.go +8 -4
- package/bin/go/src/crypto/x509/root_plan9.go +2 -23
- package/bin/go/src/crypto/x509/root_unix.go +0 -97
- package/bin/go/src/crypto/x509/root_windows.go +8 -3
- package/bin/go/src/crypto/x509/verify.go +43 -4
- package/bin/go/src/crypto/x509/x509.go +169 -30
- package/bin/go/src/database/sql/closemu.go +119 -0
- package/bin/go/src/database/sql/convert.go +63 -4
- package/bin/go/src/database/sql/driver/driver.go +26 -0
- package/bin/go/src/database/sql/driver/types.go +4 -0
- package/bin/go/src/database/sql/internal/sql.go +22 -0
- package/bin/go/src/database/sql/sql.go +89 -40
- package/bin/go/src/debug/buildinfo/buildinfo.go +0 -13
- package/bin/go/src/debug/dwarf/buf.go +7 -1
- package/bin/go/src/debug/dwarf/class_string.go +3 -2
- package/bin/go/src/debug/elf/file.go +80 -50
- package/bin/go/src/debug/elf/reader.go +1 -1
- package/bin/go/src/debug/gosym/symtab.go +26 -30
- package/bin/go/src/debug/macho/file.go +2 -2
- package/bin/go/src/debug/macho/reloctype_string.go +12 -8
- package/bin/go/src/debug/pe/file.go +6 -3
- package/bin/go/src/encoding/base32/base32.go +29 -31
- package/bin/go/src/encoding/base64/base64.go +24 -29
- package/bin/go/src/encoding/gob/decode.go +7 -1
- package/bin/go/src/encoding/gob/type.go +6 -6
- package/bin/go/src/encoding/hex/hex.go +6 -6
- package/bin/go/src/encoding/json/decode.go +4 -3
- package/bin/go/src/encoding/json/encode.go +1 -2
- package/bin/go/src/encoding/json/fold.go +1 -1
- package/bin/go/src/encoding/json/internal/internal.go +11 -1
- package/bin/go/src/encoding/json/internal/jsonflags/flags.go +17 -9
- package/bin/go/src/encoding/json/internal/jsonopts/options.go +52 -37
- package/bin/go/src/encoding/json/internal/jsonopts/options_format.go +124 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/canada_geometry.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/citm_catalog.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/golang_source.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/string_escaped.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/string_unicode.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/synthea_fhir.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/twitter_status.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/testdata.go +10 -4
- package/bin/go/src/encoding/json/internal/jsonwire/decode.go +13 -36
- package/bin/go/src/encoding/json/internal/jsonwire/encode.go +7 -7
- package/bin/go/src/encoding/json/internal/jsonwire/wire.go +30 -38
- package/bin/go/src/encoding/json/jsontext/decode.go +49 -14
- package/bin/go/src/encoding/json/jsontext/doc.go +6 -11
- package/bin/go/src/encoding/json/jsontext/encode.go +55 -39
- package/bin/go/src/encoding/json/jsontext/errors.go +34 -3
- package/bin/go/src/encoding/json/jsontext/export.go +14 -0
- package/bin/go/src/encoding/json/jsontext/options.go +8 -8
- package/bin/go/src/encoding/json/jsontext/quote.go +2 -2
- package/bin/go/src/encoding/json/jsontext/state.go +14 -14
- package/bin/go/src/encoding/json/jsontext/token.go +246 -101
- package/bin/go/src/encoding/json/jsontext/value.go +31 -16
- package/bin/go/src/encoding/json/stream.go +14 -2
- package/bin/go/src/encoding/json/v2/arshal.go +100 -114
- package/bin/go/src/encoding/json/v2/arshal_any.go +6 -5
- package/bin/go/src/encoding/json/v2/arshal_default.go +292 -189
- package/bin/go/src/encoding/json/v2/{arshal_inlined.go → arshal_embedded.go} +14 -14
- package/bin/go/src/encoding/json/v2/arshal_funcs.go +28 -47
- package/bin/go/src/encoding/json/v2/arshal_methods.go +98 -29
- package/bin/go/src/encoding/json/v2/arshal_time.go +33 -13
- package/bin/go/src/encoding/json/v2/doc.go +40 -55
- package/bin/go/src/encoding/json/v2/errors.go +29 -9
- package/bin/go/src/encoding/json/v2/fields.go +83 -81
- package/bin/go/src/encoding/json/v2/intern.go +2 -2
- package/bin/go/src/encoding/json/v2/options.go +57 -41
- package/bin/go/src/encoding/json/v2_decode.go +21 -9
- package/bin/go/src/encoding/json/v2_encode.go +21 -10
- package/bin/go/src/encoding/json/v2_indent.go +2 -0
- package/bin/go/src/encoding/json/v2_inject.go +7 -4
- package/bin/go/src/encoding/json/v2_options.go +37 -30
- package/bin/go/src/encoding/json/v2_scanner.go +6 -1
- package/bin/go/src/encoding/json/v2_stream.go +49 -14
- package/bin/go/src/encoding/pem/pem.go +6 -2
- package/bin/go/src/fmt/doc.go +11 -1
- package/bin/go/src/fmt/print.go +69 -82
- package/bin/go/src/go/ast/ast.go +4 -4
- package/bin/go/src/go/ast/filter.go +1 -1
- package/bin/go/src/go/ast/scope.go +2 -2
- package/bin/go/src/go/build/build.go +1 -1
- package/bin/go/src/go/build/constraint/vers.go +4 -1
- package/bin/go/src/go/build/read.go +2 -2
- package/bin/go/src/go/constant/kind_string.go +3 -2
- package/bin/go/src/go/constant/value.go +26 -4
- package/bin/go/src/go/doc/comment/std.go +1 -0
- package/bin/go/src/go/importer/importer.go +4 -3
- package/bin/go/src/go/internal/gccgoimporter/parser.go +2 -0
- package/bin/go/src/go/internal/gcimporter/ureader.go +141 -56
- package/bin/go/src/go/parser/parser.go +11 -22
- package/bin/go/src/go/printer/math.go +28 -0
- package/bin/go/src/go/printer/nodes.go +28 -11
- package/bin/go/src/go/printer/printer.go +3 -1
- package/bin/go/src/go/scanner/errors.go +2 -0
- package/bin/go/src/go/scanner/scanner.go +40 -28
- package/bin/go/src/go/token/position.go +7 -16
- package/bin/go/src/go/types/alias.go +0 -18
- package/bin/go/src/go/types/api.go +4 -10
- package/bin/go/src/go/types/api_predicates.go +2 -2
- package/bin/go/src/go/types/assignments.go +44 -38
- package/bin/go/src/go/types/builtins.go +199 -168
- package/bin/go/src/go/types/call.go +155 -138
- package/bin/go/src/go/types/check.go +0 -83
- package/bin/go/src/go/types/const.go +22 -10
- package/bin/go/src/go/types/conversions.go +19 -19
- package/bin/go/src/go/types/cycles.go +29 -42
- package/bin/go/src/go/types/decl.go +33 -81
- package/bin/go/src/go/types/expr.go +191 -183
- package/bin/go/src/go/types/gotype.go +1 -0
- package/bin/go/src/go/types/hash.go +309 -0
- package/bin/go/src/go/types/index.go +91 -61
- package/bin/go/src/go/types/infer.go +11 -11
- package/bin/go/src/go/types/instantiate.go +27 -15
- package/bin/go/src/go/types/interface.go +2 -2
- package/bin/go/src/go/types/literals.go +56 -32
- package/bin/go/src/go/types/lookup.go +31 -14
- package/bin/go/src/go/types/named.go +58 -54
- package/bin/go/src/go/types/object.go +4 -3
- package/bin/go/src/go/types/operand.go +50 -34
- package/bin/go/src/go/types/range.go +19 -16
- package/bin/go/src/go/types/recording.go +24 -7
- package/bin/go/src/go/types/resolver.go +16 -18
- package/bin/go/src/go/types/scope.go +1 -15
- package/bin/go/src/go/types/selection.go +3 -1
- package/bin/go/src/go/types/signature.go +10 -11
- package/bin/go/src/go/types/stmt.go +34 -28
- package/bin/go/src/go/types/subst.go +82 -5
- package/bin/go/src/go/types/trie.go +93 -0
- package/bin/go/src/go/types/typelists.go +28 -0
- package/bin/go/src/go/types/typestring.go +5 -9
- package/bin/go/src/go/types/typexpr.go +17 -28
- package/bin/go/src/go/types/unify.go +12 -3
- package/bin/go/src/go/types/universe.go +12 -40
- package/bin/go/src/go/types/version.go +4 -0
- package/bin/go/src/go.mod +5 -5
- package/bin/go/src/go.sum +8 -8
- package/bin/go/src/hash/maphash/hasher.go +139 -0
- package/bin/go/src/hash/maphash/maphash.go +59 -4
- package/bin/go/src/html/template/attr_string.go +3 -2
- package/bin/go/src/html/template/delim_string.go +3 -2
- package/bin/go/src/html/template/element_string.go +3 -2
- package/bin/go/src/html/template/jsctx_string.go +3 -2
- package/bin/go/src/html/template/state_string.go +3 -2
- package/bin/go/src/html/template/template.go +7 -4
- package/bin/go/src/html/template/transition.go +1 -1
- package/bin/go/src/html/template/urlpart_string.go +3 -2
- package/bin/go/src/image/format.go +9 -0
- package/bin/go/src/image/gif/reader.go +18 -0
- package/bin/go/src/image/jpeg/huffman.go +22 -3
- package/bin/go/src/image/jpeg/reader.go +54 -29
- package/bin/go/src/image/jpeg/scan.go +68 -38
- package/bin/go/src/image/png/writer.go +8 -0
- package/bin/go/src/index/suffixarray/suffixarray.go +14 -6
- package/bin/go/src/internal/abi/abi_generic.go +1 -1
- package/bin/go/src/internal/abi/abi_s390x.go +0 -2
- package/bin/go/src/internal/abi/compiletype.go +30 -0
- package/bin/go/src/internal/abi/iface.go +13 -1
- package/bin/go/src/internal/abi/map.go +21 -3
- package/bin/go/src/internal/abi/type.go +136 -27
- package/bin/go/src/internal/buildcfg/exp.go +8 -8
- package/bin/go/src/internal/buildcfg/zbootstrap.go +1 -1
- package/bin/go/src/internal/bytealg/bytealg.go +16 -16
- package/bin/go/src/internal/bytealg/compare_s390x.s +0 -24
- package/bin/go/src/internal/bytealg/equal_s390x.s +0 -18
- package/bin/go/src/internal/bytealg/indexbyte_arm64.s +28 -0
- package/bin/go/src/internal/bytealg/indexbyte_s390x.s +0 -33
- package/bin/go/src/internal/coverage/encodemeta/encode.go +1 -1
- package/bin/go/src/internal/cpu/cpu.go +22 -7
- package/bin/go/src/internal/cpu/cpu_arm64.go +8 -1
- package/bin/go/src/internal/cpu/cpu_arm64.s +7 -0
- package/bin/go/src/internal/cpu/cpu_arm64_darwin.go +2 -0
- package/bin/go/src/internal/cpu/cpu_arm64_freebsd.go +2 -1
- package/bin/go/src/internal/cpu/cpu_arm64_hwcap.go +2 -0
- package/bin/go/src/internal/cpu/cpu_arm64_openbsd.go +6 -1
- package/bin/go/src/internal/cpu/cpu_arm64_other.go +1 -1
- package/bin/go/src/internal/cpu/cpu_arm64_windows.go +26 -0
- package/bin/go/src/internal/cpu/cpu_loong64.go +14 -2
- package/bin/go/src/internal/cpu/cpu_riscv64.go +10 -0
- package/bin/go/src/internal/cpu/cpu_riscv64_linux.go +21 -0
- package/bin/go/src/internal/cpu/cpu_windows.go +20 -0
- package/bin/go/src/internal/cpu/cpu_x86.go +2 -0
- package/bin/go/src/internal/filepathlite/path_windows.go +30 -17
- package/bin/go/src/internal/fuzz/fuzz.go +5 -1
- package/bin/go/src/internal/fuzz/mutator.go +2 -2
- package/bin/go/src/internal/fuzz/worker.go +1 -1
- package/bin/go/src/internal/gate/gate.go +76 -0
- package/bin/go/src/internal/godebugs/table.go +29 -10
- package/bin/go/src/internal/goexperiment/exp_mapsplitgroup_off.go +8 -0
- package/bin/go/src/internal/goexperiment/exp_mapsplitgroup_on.go +8 -0
- package/bin/go/src/internal/goexperiment/flags.go +5 -3
- package/bin/go/src/internal/goversion/goversion.go +1 -1
- package/bin/go/src/internal/lazyregexp/lazyre.go +4 -0
- package/bin/go/src/internal/nettest/conn.go +437 -0
- package/bin/go/src/internal/nettest/listener.go +148 -0
- package/bin/go/src/internal/nettest/packetconn.go +250 -0
- package/bin/go/src/internal/nettest/queue.go +33 -0
- package/bin/go/src/internal/pkgbits/syncmarker_string.go +4 -4
- package/bin/go/src/internal/pkgbits/version.go +27 -1
- package/bin/go/src/internal/platform/supported.go +8 -10
- package/bin/go/src/internal/platform/zosarch.go +1 -3
- package/bin/go/src/internal/poll/fd_mutex.go +49 -10
- package/bin/go/src/internal/poll/fd_unix.go +6 -1
- package/bin/go/src/internal/poll/fd_windows.go +175 -191
- package/bin/go/src/internal/poll/fd_writev_libc.go +1 -1
- package/bin/go/src/internal/poll/fd_writev_unix.go +1 -1
- package/bin/go/src/internal/poll/file_plan9.go +4 -4
- package/bin/go/src/internal/poll/sendfile_windows.go +1 -3
- package/bin/go/src/internal/poll/splice_linux.go +1 -1
- package/bin/go/src/internal/profile/encode.go +1 -1
- package/bin/go/src/internal/profile/profile.go +5 -3
- package/bin/go/src/internal/profilerecord/profilerecord.go +2 -2
- package/bin/go/src/internal/reflectlite/value.go +1 -15
- package/bin/go/src/internal/runtime/atomic/atomic_386.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_amd64.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_andor_generic.go +0 -11
- package/bin/go/src/internal/runtime/atomic/atomic_arm.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_loong64.go +2 -2
- package/bin/go/src/internal/runtime/atomic/atomic_loong64.s +22 -11
- package/bin/go/src/internal/runtime/atomic/atomic_mipsx.go +0 -10
- package/bin/go/src/internal/runtime/atomic/atomic_riscv64.s +4 -4
- package/bin/go/src/internal/runtime/atomic/atomic_s390x.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_wasm.go +0 -31
- package/bin/go/src/internal/runtime/atomic/linkname.go +34 -0
- package/bin/go/src/internal/runtime/exithook/hooks.go +0 -4
- package/bin/go/src/internal/runtime/gc/scan/expand_amd64.s +2285 -2285
- package/bin/go/src/internal/runtime/gc/scan/mkasm.go +1 -1
- package/bin/go/src/internal/runtime/gc/scan/scan_amd64.go +2 -1
- package/bin/go/src/internal/runtime/gc/scan/scan_amd64.s +4 -2
- package/bin/go/src/internal/runtime/maps/group.go +22 -13
- package/bin/go/src/internal/runtime/maps/map.go +35 -14
- package/bin/go/src/internal/runtime/maps/memhash_386.s +408 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes.go +38 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes_asm.go +24 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes_simd.go +49 -0
- package/bin/go/src/internal/runtime/maps/memhash_align_check.go +10 -0
- package/bin/go/src/internal/runtime/maps/memhash_align_nocheck.go +16 -0
- package/bin/go/src/internal/runtime/maps/memhash_amd64.s +426 -0
- package/bin/go/src/internal/runtime/maps/memhash_arm64.s +366 -0
- package/bin/go/src/internal/runtime/maps/memhash_noaes.go +43 -0
- package/bin/go/src/internal/runtime/maps/memhash_nosimd_amd64.s +33 -0
- package/bin/go/src/internal/runtime/maps/runtime.go +37 -88
- package/bin/go/src/internal/runtime/maps/runtime_alg.go +93 -0
- package/bin/go/src/internal/runtime/maps/runtime_fast32.go +111 -97
- package/bin/go/src/internal/runtime/maps/runtime_fast64.go +137 -98
- package/bin/go/src/internal/runtime/maps/runtime_faststr.go +96 -89
- package/bin/go/src/{runtime/hash32.go → internal/runtime/maps/runtime_hash32.go} +8 -10
- package/bin/go/src/{runtime/hash64.go → internal/runtime/maps/runtime_hash64.go} +8 -8
- package/bin/go/src/internal/runtime/maps/table.go +66 -3
- package/bin/go/src/internal/runtime/math/math.go +0 -21
- package/bin/go/src/internal/runtime/startlinetest/func_amd64.s +2 -1
- package/bin/go/src/internal/runtime/sys/dit_arm64.go +3 -0
- package/bin/go/src/internal/runtime/sys/dit_arm64.s +16 -3
- package/bin/go/src/internal/runtime/syscall/linux/asm_linux_s390x.s +0 -23
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_386.s +7 -4
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_amd64.s +10 -8
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_arm64.s +0 -1
- package/bin/go/src/internal/runtime/syscall/windows/defs_windows.go +4 -0
- package/bin/go/src/internal/runtime/syscall/windows/syscall_windows.go +7 -9
- package/bin/go/src/internal/strconv/atof.go +69 -42
- package/bin/go/src/internal/strconv/atoi.go +1 -0
- package/bin/go/src/internal/strconv/ftoa.go +329 -357
- package/bin/go/src/internal/strconv/itoa.go +53 -59
- package/bin/go/src/internal/strconv/pow10gen.go +15 -3
- package/bin/go/src/internal/strconv/pow10tab.go +670 -670
- package/bin/go/src/internal/strconv/uscale.go +290 -0
- package/bin/go/src/internal/stringslite/strings.go +14 -42
- package/bin/go/src/internal/syscall/unix/asm_openbsd.s +0 -2
- package/bin/go/src/internal/syscall/unix/at.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_fstatat.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_libc2.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_openbsd.go +0 -2
- package/bin/go/src/internal/syscall/unix/faccessat_bsd.go +1 -1
- package/bin/go/src/internal/syscall/unix/faccessat_openbsd.go +0 -2
- package/bin/go/src/internal/syscall/windows/at_windows.go +5 -5
- package/bin/go/src/internal/syscall/windows/net_windows.go +1 -0
- package/bin/go/src/internal/syscall/windows/string_windows.go +6 -3
- package/bin/go/src/internal/syscall/windows/syscall_windows.go +2 -0
- package/bin/go/src/internal/syscall/windows/types_windows.go +89 -4
- package/bin/go/src/internal/syscall/windows/zsyscall_windows.go +7 -0
- package/bin/go/src/internal/testenv/testenv.go +24 -1
- package/bin/go/src/internal/trace/event.go +1 -1
- package/bin/go/src/internal/trace/tracev2/events.go +2 -0
- package/bin/go/src/internal/trace/traceviewer/pprof.go +1 -0
- package/bin/go/src/internal/types/errors/generrordocs.go +1 -1
- package/bin/go/src/io/fs/fs.go +4 -1
- package/bin/go/src/io/fs/glob.go +1 -1
- package/bin/go/src/io/fs/readdir.go +3 -3
- package/bin/go/src/io/fs/readfile.go +3 -3
- package/bin/go/src/io/fs/stat.go +1 -1
- package/bin/go/src/io/fs/sub.go +4 -2
- package/bin/go/src/iter/iter.go +2 -2
- package/bin/go/src/log/slog/handler.go +0 -1
- package/bin/go/src/log/slog/json_handler.go +7 -1
- package/bin/go/src/log/slog/logger.go +16 -0
- package/bin/go/src/log/slog/text_handler.go +10 -1
- package/bin/go/src/log/slog/value.go +1 -1
- package/bin/go/src/log/syslog/doc.go +5 -0
- package/bin/go/src/math/abs.go +1 -1
- package/bin/go/src/math/big/accuracy_string.go +4 -4
- package/bin/go/src/math/big/arith.go +1 -1
- package/bin/go/src/math/big/arith_loong64.s +2 -4
- package/bin/go/src/math/big/float.go +2 -0
- package/bin/go/src/math/big/ftoa.go +11 -5
- package/bin/go/src/math/big/int.go +84 -1
- package/bin/go/src/math/big/intconv.go +19 -4
- package/bin/go/src/math/big/internal/asmgen/loong64.go +2 -0
- package/bin/go/src/math/big/nat.go +68 -17
- package/bin/go/src/math/big/natdiv.go +8 -5
- package/bin/go/src/math/big/roundingmode_string.go +3 -2
- package/bin/go/src/math/copysign.go +1 -2
- package/bin/go/src/math/exp2_asm.go +1 -1
- package/bin/go/src/math/exp2_noasm.go +1 -1
- package/bin/go/src/math/exp_asm.go +1 -1
- package/bin/go/src/math/exp_loong64.s +4 -12
- package/bin/go/src/math/exp_noasm.go +1 -1
- package/bin/go/src/math/exp_riscv64.s +236 -0
- package/bin/go/src/math/nextafter.go +4 -2
- package/bin/go/src/math/pow10.go +1 -1
- package/bin/go/src/math/rand/v2/rand.go +14 -4
- package/bin/go/src/mime/type.go +3 -2
- package/bin/go/src/net/dial.go +10 -6
- package/bin/go/src/net/dnsclient_unix.go +37 -8
- package/bin/go/src/net/dnsconfig.go +6 -0
- package/bin/go/src/net/fd_plan9.go +13 -6
- package/bin/go/src/net/fd_unix.go +3 -7
- package/bin/go/src/net/fd_windows.go +4 -9
- package/bin/go/src/net/file_plan9.go +1 -1
- package/bin/go/src/net/file_posix.go +1 -5
- package/bin/go/src/net/http/client.go +21 -4
- package/bin/go/src/net/http/clientconn.go +20 -1
- package/bin/go/src/net/http/clone.go +1 -10
- package/bin/go/src/net/http/cookie.go +5 -6
- package/bin/go/src/net/http/cookiejar/jar.go +6 -4
- package/bin/go/src/net/http/fcgi/fcgi.go +1 -2
- package/bin/go/src/net/http/fs.go +8 -1
- package/bin/go/src/net/http/http.go +29 -12
- package/bin/go/src/net/http/http2.go +561 -0
- package/bin/go/src/net/http/httptest/server.go +305 -60
- package/bin/go/src/net/http/httptrace/trace.go +78 -27
- package/bin/go/src/net/http/httputil/reverseproxy.go +0 -30
- package/bin/go/src/net/http/internal/common.go +14 -0
- package/bin/go/src/net/http/internal/http2/api.go +161 -0
- package/bin/go/src/net/http/internal/http2/ascii.go +53 -0
- package/bin/go/src/net/http/internal/http2/ciphers.go +641 -0
- package/bin/go/src/net/http/internal/http2/client_conn_pool.go +285 -0
- package/bin/go/src/net/http/internal/http2/config.go +118 -0
- package/bin/go/src/net/http/internal/http2/databuffer.go +146 -0
- package/bin/go/src/net/http/internal/http2/errors.go +173 -0
- package/bin/go/src/net/http/internal/http2/flow.go +175 -0
- package/bin/go/src/net/http/internal/http2/frame.go +1905 -0
- package/bin/go/src/net/http/internal/http2/gotrack.go +181 -0
- package/bin/go/src/net/http/internal/http2/http2.go +403 -0
- package/bin/go/src/net/http/internal/http2/pipe.go +184 -0
- package/bin/go/src/net/http/internal/http2/server.go +3238 -0
- package/bin/go/src/net/http/internal/http2/transport.go +3267 -0
- package/bin/go/src/net/http/internal/http2/write.go +380 -0
- package/bin/go/src/net/http/internal/http2/writesched.go +289 -0
- package/bin/go/src/net/http/internal/http2/writesched_priority_rfc9218.go +224 -0
- package/bin/go/src/net/http/internal/http2/writesched_roundrobin.go +119 -0
- package/bin/go/src/net/http/internal/httpcommon/httpcommon.go +8 -0
- package/bin/go/src/net/http/internal/httpsfv/httpsfv.go +666 -0
- package/bin/go/src/net/http/internal/sniff.go +304 -0
- package/bin/go/src/net/http/omithttp2.go +28 -49
- package/bin/go/src/net/http/pprof/pprof.go +11 -17
- package/bin/go/src/net/http/request.go +30 -3
- package/bin/go/src/net/http/response.go +6 -2
- package/bin/go/src/net/http/server.go +366 -144
- package/bin/go/src/net/http/sniff.go +2 -289
- package/bin/go/src/net/http/transfer.go +64 -21
- package/bin/go/src/net/http/transport.go +288 -83
- package/bin/go/src/net/ip.go +4 -0
- package/bin/go/src/net/ipsock_plan9.go +4 -4
- package/bin/go/src/net/ipsock_posix.go +8 -2
- package/bin/go/src/net/lookup.go +10 -0
- package/bin/go/src/net/lookup_windows.go +1 -1
- package/bin/go/src/net/mail/message.go +8 -3
- package/bin/go/src/net/net.go +2 -0
- package/bin/go/src/net/netip/netip.go +68 -61
- package/bin/go/src/net/sock_posix.go +1 -4
- package/bin/go/src/net/textproto/reader.go +11 -3
- package/bin/go/src/net/udpsock_plan9.go +2 -7
- package/bin/go/src/net/unixsock.go +11 -3
- package/bin/go/src/net/url/url.go +33 -0
- package/bin/go/src/os/dir_darwin.go +7 -0
- package/bin/go/src/os/exec/exec.go +16 -2
- package/bin/go/src/os/exec.go +1 -0
- package/bin/go/src/os/file.go +8 -1
- package/bin/go/src/os/root_windows.go +5 -1
- package/bin/go/src/os/signal/doc.go +3 -2
- package/bin/go/src/os/signal/signal.go +18 -6
- package/bin/go/src/os/statat_unix.go +5 -1
- package/bin/go/src/path/filepath/path.go +4 -0
- package/bin/go/src/reflect/asm_s390x.s +0 -10
- package/bin/go/src/reflect/iter.go +13 -13
- package/bin/go/src/reflect/makefunc.go +2 -1
- package/bin/go/src/reflect/map.go +61 -18
- package/bin/go/src/reflect/type.go +63 -46
- package/bin/go/src/reflect/value.go +59 -16
- package/bin/go/src/regexp/exec.go +5 -5
- package/bin/go/src/regexp/regexp.go +382 -319
- package/bin/go/src/regexp/syntax/parse.go +19 -10
- package/bin/go/src/runtime/HACKING.md +19 -0
- package/bin/go/src/runtime/_mkmalloc/constants.go +6 -4
- package/bin/go/src/runtime/_mkmalloc/go.mod +1 -1
- package/bin/go/src/runtime/_mkmalloc/mkmalloc.go +405 -64
- package/bin/go/src/runtime/alg.go +21 -53
- package/bin/go/src/runtime/asm_386.s +11 -461
- package/bin/go/src/runtime/asm_amd64.s +30 -537
- package/bin/go/src/runtime/asm_arm.s +4 -39
- package/bin/go/src/runtime/asm_arm64.s +15 -428
- package/bin/go/src/runtime/asm_loong64.s +37 -47
- package/bin/go/src/runtime/asm_mips64x.s +15 -15
- package/bin/go/src/runtime/asm_mipsx.s +0 -15
- package/bin/go/src/runtime/asm_ppc64x.h +0 -16
- package/bin/go/src/runtime/asm_ppc64x.s +13 -59
- package/bin/go/src/runtime/asm_riscv64.s +30 -91
- package/bin/go/src/runtime/asm_s390x.s +49 -49
- package/bin/go/src/runtime/asm_wasm.s +0 -15
- package/bin/go/src/runtime/atomic_riscv64.s +1 -1
- package/bin/go/src/runtime/cgo/abi_riscv64.h +72 -0
- package/bin/go/src/runtime/cgo/asm_riscv64.s +7 -48
- package/bin/go/src/runtime/cgo/callbacks.go +0 -42
- package/bin/go/src/runtime/cgo/callbacks_unix.go +58 -0
- package/bin/go/src/runtime/cgo/cgo.go +6 -3
- package/bin/go/src/runtime/cgo/gcc_aix_ppc64.S +21 -9
- package/bin/go/src/runtime/cgo/gcc_android.c +0 -26
- package/bin/go/src/runtime/cgo/gcc_clearenv.c +1 -1
- package/bin/go/src/runtime/cgo/gcc_fatalf.c +14 -3
- package/bin/go/src/runtime/cgo/{gcc_libinit.c → gcc_libinit_unix.c} +18 -65
- package/bin/go/src/runtime/cgo/gcc_libinit_windows.c +23 -35
- package/bin/go/src/runtime/cgo/gcc_linux_ppc64x.S +16 -7
- package/bin/go/src/runtime/cgo/gcc_netbsd.c +8 -56
- package/bin/go/src/runtime/cgo/gcc_s390x.S +13 -4
- package/bin/go/src/runtime/cgo/gcc_sigaction.c +1 -1
- package/bin/go/src/runtime/cgo/gcc_unix.c +63 -0
- package/bin/go/src/runtime/cgo/gcc_util.c +0 -19
- package/bin/go/src/runtime/cgo/handle.go +3 -0
- package/bin/go/src/runtime/cgo/libcgo.h +7 -10
- package/bin/go/src/runtime/cgo/libcgo_unix.h +2 -10
- package/bin/go/src/runtime/cgo/pthread_unix.c +138 -0
- package/bin/go/src/runtime/cgo/sigaction.go +1 -1
- package/bin/go/src/runtime/cgo/windows.go +18 -1
- package/bin/go/src/runtime/cgo_ppc64x.go +1 -1
- package/bin/go/src/runtime/cgo_sigaction.go +1 -1
- package/bin/go/src/runtime/cgocall.go +10 -2
- package/bin/go/src/runtime/chan.go +2 -16
- package/bin/go/src/runtime/coro.go +2 -2
- package/bin/go/src/runtime/cpuflags.go +4 -3
- package/bin/go/src/runtime/debug/garbage.go +6 -6
- package/bin/go/src/runtime/debug/mod.go +1 -1
- package/bin/go/src/runtime/debug/stack.go +1 -1
- package/bin/go/src/runtime/debugcall.go +0 -3
- package/bin/go/src/runtime/error.go +6 -0
- package/bin/go/src/runtime/extern.go +5 -3
- package/bin/go/src/runtime/heapdump.go +1 -1
- package/bin/go/src/runtime/iface.go +20 -10
- package/bin/go/src/runtime/libinit.go +48 -0
- package/bin/go/src/runtime/lock_js.go +4 -2
- package/bin/go/src/runtime/lock_spinbit.go +13 -12
- package/bin/go/src/runtime/lock_wasip1.go +4 -2
- package/bin/go/src/runtime/lockrank.go +24 -21
- package/bin/go/src/runtime/lockrank_off.go +5 -2
- package/bin/go/src/runtime/lockrank_on.go +8 -7
- package/bin/go/src/runtime/malloc.go +10 -26
- package/bin/go/src/runtime/malloc_generated.go +819 -8628
- package/bin/go/src/runtime/malloc_stubs.go +187 -197
- package/bin/go/src/runtime/malloc_tables_generated.go +16 -882
- package/bin/go/src/runtime/map.go +4 -4
- package/bin/go/src/runtime/mbitmap.go +3 -1
- package/bin/go/src/runtime/mem.go +2 -6
- package/bin/go/src/runtime/mem_sbrk.go +4 -0
- package/bin/go/src/runtime/memclr_s390x.s +0 -5
- package/bin/go/src/runtime/memmove_s390x.s +0 -7
- package/bin/go/src/runtime/metrics/doc.go +5 -29
- package/bin/go/src/runtime/metrics/sample.go +3 -0
- package/bin/go/src/runtime/metrics.go +3 -2
- package/bin/go/src/runtime/mgc.go +41 -25
- package/bin/go/src/runtime/mgcmark.go +5 -0
- package/bin/go/src/runtime/mgcmark_greenteagc.go +1 -1
- package/bin/go/src/runtime/mgcpacer.go +1 -3
- package/bin/go/src/runtime/mgcscavenge.go +1 -1
- package/bin/go/src/runtime/mheap.go +1 -10
- package/bin/go/src/runtime/mklockrank.go +6 -1
- package/bin/go/src/runtime/mkpreempt.go +7 -0
- package/bin/go/src/runtime/mprof.go +12 -23
- package/bin/go/src/runtime/os2_aix.go +3 -3
- package/bin/go/src/runtime/os3_solaris.go +10 -0
- package/bin/go/src/runtime/os_aix.go +9 -2
- package/bin/go/src/runtime/os_darwin.go +3 -8
- package/bin/go/src/runtime/os_dragonfly.go +10 -0
- package/bin/go/src/runtime/os_js.go +10 -0
- package/bin/go/src/runtime/os_linux32.go +19 -6
- package/bin/go/src/runtime/os_netbsd.go +10 -0
- package/bin/go/src/runtime/os_openbsd.go +10 -0
- package/bin/go/src/runtime/os_plan9.go +10 -0
- package/bin/go/src/runtime/os_wasip1.go +10 -0
- package/bin/go/src/runtime/os_windows.go +45 -12
- package/bin/go/src/runtime/os_workdir_ios_arm64.go +98 -0
- package/bin/go/src/runtime/os_workdir_stub.go +9 -0
- package/bin/go/src/runtime/panic.go +93 -8
- package/bin/go/src/runtime/plugin.go +1 -3
- package/bin/go/src/runtime/pprof/pprof.go +11 -14
- package/bin/go/src/runtime/pprof/protomem.go +8 -15
- package/bin/go/src/runtime/preempt_loong64.s +8 -4
- package/bin/go/src/runtime/preempt_noxreg.go +2 -0
- package/bin/go/src/runtime/preempt_xreg.go +29 -2
- package/bin/go/src/runtime/print.go +9 -1
- package/bin/go/src/runtime/proc.go +68 -17
- package/bin/go/src/runtime/race_riscv64.s +40 -83
- package/bin/go/src/runtime/race_s390x.s +0 -16
- package/bin/go/src/runtime/rand.go +40 -12
- package/bin/go/src/runtime/{rt0_linux_ppc64le.s → rt0_linux_ppc64x.s} +12 -2
- package/bin/go/src/runtime/runtime-gdb.py +13 -2
- package/bin/go/src/runtime/runtime1.go +69 -18
- package/bin/go/src/runtime/runtime2.go +23 -22
- package/bin/go/src/runtime/secret/secret.go +7 -2
- package/bin/go/src/runtime/secret.go +27 -9
- package/bin/go/src/runtime/secret_nosecret.go +1 -1
- package/bin/go/src/runtime/sigaction.go +1 -1
- package/bin/go/src/runtime/signal_unix.go +5 -3
- package/bin/go/src/runtime/softfloat64.go +7 -2
- package/bin/go/src/runtime/string.go +4 -1
- package/bin/go/src/runtime/stubs.go +14 -4
- package/bin/go/src/runtime/stubs_amd64.go +4 -0
- package/bin/go/src/runtime/stubs_arm.go +10 -1
- package/bin/go/src/runtime/stubs_arm64.go +13 -0
- package/bin/go/src/runtime/stubs_loong64.go +18 -0
- package/bin/go/src/runtime/stubs_mips64x.go +9 -0
- package/bin/go/src/runtime/stubs_mipsx.go +11 -0
- package/bin/go/src/runtime/stubs_ppc64x.go +15 -0
- package/bin/go/src/runtime/stubs_riscv64.go +13 -0
- package/bin/go/src/runtime/stubs_s390x.go +18 -0
- package/bin/go/src/runtime/symtab.go +15 -16
- package/bin/go/src/runtime/synctest.go +2 -4
- package/bin/go/src/runtime/sys_aix_ppc64.s +9 -0
- package/bin/go/src/runtime/sys_darwin.go +2 -20
- package/bin/go/src/runtime/sys_darwin_amd64.s +1 -4
- package/bin/go/src/runtime/sys_darwin_arm64.s +3 -6
- package/bin/go/src/runtime/sys_freebsd_riscv64.s +2 -2
- package/bin/go/src/runtime/sys_ios_arm64.go +151 -0
- package/bin/go/src/runtime/sys_ios_arm64.s +78 -0
- package/bin/go/src/runtime/sys_linux_amd64.s +7 -1
- package/bin/go/src/runtime/sys_linux_loong64.s +8 -14
- package/bin/go/src/runtime/sys_linux_ppc64x.s +0 -12
- package/bin/go/src/runtime/sys_linux_riscv64.s +2 -2
- package/bin/go/src/runtime/sys_openbsd.go +1 -1
- package/bin/go/src/runtime/sys_openbsd_riscv64.s +16 -16
- package/bin/go/src/runtime/syscall_windows.go +2 -6
- package/bin/go/src/runtime/time.go +19 -57
- package/bin/go/src/runtime/trace/subscribe.go +0 -3
- package/bin/go/src/runtime/traceback.go +90 -13
- package/bin/go/src/runtime/traceregion.go +3 -3
- package/bin/go/src/runtime/tracestring.go +5 -0
- package/bin/go/src/runtime/type.go +85 -15
- package/bin/go/src/runtime/utf8.go +2 -2
- package/bin/go/src/simd/archsimd/_gen/go.mod +2 -2
- package/bin/go/src/simd/archsimd/_gen/go.sum +2 -2
- package/bin/go/src/simd/archsimd/_gen/main.go +106 -15
- package/bin/go/src/simd/archsimd/_gen/midway/comments.yaml +151 -0
- package/bin/go/src/simd/archsimd/_gen/midway/intersect_simd_ops.go +836 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/asbits.go +139 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/compare_natural.go +73 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/formatted_files.go +66 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/insert_ordered_map.go +159 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/merge_generic_ops.go +245 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arch.go +173 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/emit.go +166 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/instruction.go +642 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/load.go +54 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/operands.go +406 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/etetest.sh +1 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdGenericOps.go +19 -52
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdIntrinsics.go +162 -98
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdMachineOps.go +50 -19
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdTypes.go +198 -140
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdrules.go +278 -57
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdssa.go +133 -68
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_utility.go +163 -30
- package/bin/go/src/simd/archsimd/_gen/simdgen/go_amd64.yaml +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/go_arm64.yaml +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/godefs.go +113 -15
- package/bin/go/src/simd/archsimd/_gen/simdgen/main.go +62 -17
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/categories.yaml +12 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/{go.yaml → go_amd64.yaml} +12 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/go_arm64.yaml +91 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/categories.yaml +11 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/go_arm64.yaml +43 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Compares/go_arm64.yaml +81 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/categories.yaml +11 -6
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/{go.yaml → go_amd64.yaml} +8 -8
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/go_arm64.yaml +358 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/categories.yaml +5 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/{go.yaml → go_amd64.yaml} +4 -4
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/go_arm64.yaml +52 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/categories.yaml +29 -11
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/{go.yaml → go_amd64.yaml} +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/go_arm64.yaml +10 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/categories.yaml +2 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/{go.yaml → go_amd64.yaml} +2 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/go_arm64.yaml +35 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/categories.yaml +5 -8
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/{go.yaml → go_amd64.yaml} +7 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/go_arm64.yaml +31 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MinMax/go_arm64.yaml +61 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/categories.yaml +79 -23
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/{go.yaml → go_amd64.yaml} +213 -104
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/go_arm64.yaml +264 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/categories.yaml +6 -2
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/{go.yaml → go_amd64.yaml} +3 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/go_arm64.yaml +38 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/NegAbs/categories.yaml +7 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/NegAbs/go_arm64.yaml +36 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/categories.yaml +5 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/go_arm64.yaml +19 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Reduce/categories.yaml +16 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Reduce/go_arm64.yaml +71 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/categories.yaml +156 -41
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go_amd64.yaml +299 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go_arm64.yaml +202 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/types.yaml +2 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/xed.go +44 -11
- package/bin/go/src/simd/archsimd/_gen/tmplgen/main.go +668 -123
- package/bin/go/src/simd/archsimd/_gen/unify/closure.go +1 -1
- package/bin/go/src/simd/archsimd/_gen/unify/env.go +35 -3
- package/bin/go/src/simd/archsimd/_gen/unify/yaml.go +4 -4
- package/bin/go/src/simd/archsimd/_gen/wasmgen/main.go +2064 -0
- package/bin/go/src/simd/archsimd/clmul_arm64.go +79 -0
- package/bin/go/src/simd/archsimd/clmul_emulated.go +103 -0
- package/bin/go/src/simd/archsimd/compare_gen_arm64.go +155 -0
- package/bin/go/src/simd/archsimd/cpu.go +1 -1
- package/bin/go/src/simd/archsimd/cpu_other.go +21 -0
- package/bin/go/src/simd/archsimd/doc.go +0 -2
- package/bin/go/src/simd/archsimd/dummy.s +1 -1
- package/bin/go/src/simd/archsimd/generate.go +1 -1
- package/bin/go/src/simd/archsimd/internal/test_helpers/checkslices.go +2 -2
- package/bin/go/src/simd/archsimd/maskmerge_gen_amd64.go +330 -0
- package/bin/go/src/simd/archsimd/maskmerge_gen_arm64.go +167 -0
- package/bin/go/src/simd/archsimd/ops_amd64.go +4210 -2475
- package/bin/go/src/simd/archsimd/ops_arm64.go +2186 -0
- package/bin/go/src/simd/archsimd/ops_emulated_amd64.go +205 -0
- package/bin/go/src/simd/archsimd/ops_emulated_wasm.go +212 -0
- package/bin/go/src/simd/archsimd/ops_internal_amd64.go +500 -56
- package/bin/go/src/simd/archsimd/ops_internal_arm64.go +234 -0
- package/bin/go/src/simd/archsimd/ops_wasm.go +1795 -0
- package/bin/go/src/simd/archsimd/other_gen_amd64.go +576 -72
- package/bin/go/src/simd/archsimd/other_gen_arm64.go +519 -0
- package/bin/go/src/simd/archsimd/shuffles_amd64.go +217 -76
- package/bin/go/src/simd/archsimd/slice_gen_amd64.go +594 -532
- package/bin/go/src/simd/archsimd/slice_gen_arm64.go +125 -0
- package/bin/go/src/simd/archsimd/slicepart_128.go +302 -0
- package/bin/go/src/simd/archsimd/slicepart_amd64.go +36 -235
- package/bin/go/src/simd/archsimd/slicepart_arm64.go +217 -0
- package/bin/go/src/simd/archsimd/slicepart_wasm.go +217 -0
- package/bin/go/src/simd/archsimd/string.go +1 -1
- package/bin/go/src/simd/archsimd/types_amd64.go +165 -341
- package/bin/go/src/simd/archsimd/types_arm64.go +224 -0
- package/bin/go/src/simd/archsimd/types_wasm.go +354 -0
- package/bin/go/src/simd/archsimd/unsafe_helpers.go +60 -0
- package/bin/go/src/simd/doc.go +91 -0
- package/bin/go/src/simd/dummy.s +7 -0
- package/bin/go/src/simd/internal/bridge/decls_amd64.go +4085 -0
- package/bin/go/src/simd/internal/bridge/decls_arm64.go +1369 -0
- package/bin/go/src/simd/internal/bridge/decls_wasm.go +1369 -0
- package/bin/go/src/simd/internal/bridge/import_hook.go +13 -0
- package/bin/go/src/simd/internal/bridge/simd_emulated.go +3275 -0
- package/bin/go/src/simd/internal/bridge/simd_types_emulated.go +95 -0
- package/bin/go/src/simd/internal/bridge/tofrom_128.go +65 -0
- package/bin/go/src/simd/internal/bridge/tofrom_amd64.go +123 -0
- package/bin/go/src/simd/internal/bridge/tofrom_emulated.go +63 -0
- package/bin/go/src/simd/midway_amd64.go +34 -0
- package/bin/go/src/simd/midway_arm64.go +22 -0
- package/bin/go/src/simd/midway_common.go +138 -0
- package/bin/go/src/simd/midway_wasm.go +13 -0
- package/bin/go/src/simd/simd_emulated.go +3275 -0
- package/bin/go/src/simd/simd_stubs.go +1041 -0
- package/bin/go/src/simd/simd_types.go +96 -0
- package/bin/go/src/simd/tofrom_amd64.go +374 -0
- package/bin/go/src/simd/tofrom_arm64.go +290 -0
- package/bin/go/src/simd/tofrom_wasm.go +290 -0
- package/bin/go/src/slices/slices.go +9 -7
- package/bin/go/src/strconv/isprint.go +81 -51
- package/bin/go/src/strings/builder.go +1 -1
- package/bin/go/src/strings/strings.go +44 -35
- package/bin/go/src/sync/atomic/doc.go +7 -0
- package/bin/go/src/sync/cond.go +4 -2
- package/bin/go/src/sync/pool.go +6 -15
- package/bin/go/src/sync/runtime2_lockrank.go +1 -2
- package/bin/go/src/syscall/exec_bsd.go +3 -3
- package/bin/go/src/syscall/exec_libc2.go +1 -1
- package/bin/go/src/syscall/exec_linux.go +7 -2
- package/bin/go/src/syscall/fs_js.go +9 -4
- package/bin/go/src/syscall/fs_wasip1.go +6 -0
- package/bin/go/src/syscall/js/js.go +2 -2
- package/bin/go/src/syscall/linkname_bsd.go +8 -0
- package/bin/go/src/syscall/linkname_libc.go +1 -1
- package/bin/go/src/syscall/linkname_openbsd.go +0 -2
- package/bin/go/src/syscall/mkall.sh +6 -17
- package/bin/go/src/syscall/syscall_aix.go +5 -0
- package/bin/go/src/syscall/syscall_linux_386.go +9 -0
- package/bin/go/src/syscall/syscall_linux_amd64.go +5 -0
- package/bin/go/src/syscall/syscall_linux_arm.go +4 -0
- package/bin/go/src/syscall/syscall_linux_arm64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_loong64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_mipsx.go +4 -0
- package/bin/go/src/syscall/syscall_linux_riscv64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_s390x.go +5 -0
- package/bin/go/src/syscall/syscall_openbsd.go +77 -2
- package/bin/go/src/syscall/syscall_plan9.go +25 -0
- package/bin/go/src/syscall/syscall_solaris.go +11 -0
- package/bin/go/src/syscall/syscall_unix.go +19 -0
- package/bin/go/src/syscall/syscall_windows.go +1 -1
- package/bin/go/src/testing/synctest/synctest.go +21 -0
- package/bin/go/src/testing/testing.go +211 -52
- package/bin/go/src/text/template/parse/lex.go +6 -6
- package/bin/go/src/text/template/parse/node.go +21 -16
- package/bin/go/src/text/template/parse/parse.go +23 -6
- package/bin/go/src/text/template/template.go +5 -3
- package/bin/go/src/time/format.go +3 -0
- package/bin/go/src/time/sleep.go +0 -33
- package/bin/go/src/time/tick.go +3 -2
- package/bin/go/src/time/time.go +2 -2
- package/bin/go/src/time/tzdata/zzipdata.go +1 -1
- package/bin/go/src/time/zoneinfo.go +5 -4
- package/bin/go/src/time/zoneinfo_read.go +1 -1
- package/bin/go/src/unicode/tables.go +898 -417
- package/bin/go/src/uuid/uuid.go +273 -0
- package/bin/go/src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go +3 -3
- package/bin/go/src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s +2066 -6598
- package/bin/go/src/vendor/golang.org/x/crypto/hkdf/hkdf.go +100 -0
- package/bin/go/src/vendor/golang.org/x/net/dns/dnsmessage/message.go +5 -4
- package/bin/go/src/vendor/golang.org/x/net/http/httpproxy/proxy.go +4 -4
- package/bin/go/src/vendor/golang.org/x/net/http3/http3.go +46 -0
- package/bin/go/src/vendor/golang.org/x/net/idna/{idna10.0.0.go → idna.go} +133 -35
- package/bin/go/src/vendor/golang.org/x/net/idna/punycode.go +4 -1
- package/bin/go/src/vendor/golang.org/x/net/idna/tables15.0.0.go +1 -1
- package/bin/go/src/vendor/golang.org/x/net/idna/tables17.0.0.go +5302 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/body.go +231 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/conn.go +131 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/doc.go +10 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/errors.go +102 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/http3.go +95 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack.go +356 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_decode.go +81 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_encode.go +61 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_static.go +142 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/quic.go +40 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/roundtrip.go +423 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/server.go +866 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/settings.go +66 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/stream.go +260 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/transport.go +333 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/varint.go +23 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/request.go +475 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/quic/quicwire/wire.go +150 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/ack_delay.go +26 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/acks.go +213 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/atomic_bits.go +31 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/config.go +158 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/congestion_reno.go +306 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn.go +434 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_close.go +340 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_flow.go +142 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_id.go +502 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_loss.go +85 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_recv.go +631 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_send.go +407 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_streams.go +483 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/crypto_stream.go +157 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/dgram.go +53 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/doc.go +50 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/endpoint.go +478 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/errors.go +129 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/frame_debug.go +730 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/gate.go +86 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/idle.go +168 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/log.go +67 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/loss.go +521 -0
- package/bin/go/src/{runtime/cgo/gcc_stack_windows.c → vendor/golang.org/x/net/quic/math.go} +7 -2
- package/bin/go/src/vendor/golang.org/x/net/quic/pacer.go +129 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet.go +267 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_number.go +72 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_parser.go +519 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_protection.go +539 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_writer.go +566 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/path.go +87 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/ping.go +14 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/pipe.go +173 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/qlog.go +272 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/queue.go +63 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/quic.go +221 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/race_disabled.go +10 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/race_enabled.go +27 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/rangeset.go +193 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/retry.go +240 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/rtt.go +71 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_packet.go +119 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_packet_list.go +93 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_val.go +103 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/skip.go +62 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stateless_reset.go +59 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stream.go +1106 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stream_limits.go +138 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/tls.go +123 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/transport_params.go +283 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp.go +28 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_darwin.go +45 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_linux.go +39 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_msg.go +245 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_other.go +62 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_packetconn.go +67 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/asm_darwin_arm64_gc.s +12 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu.go +12 -7
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_arm64.go +3 -6
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64.go +67 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64_other.go +31 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +1 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go +2 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_loong64.go +14 -2
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go +4 -2
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +1 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_windows.go +26 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_windows_arm64.go +38 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_x86.go +124 -50
- package/bin/go/src/vendor/golang.org/x/sys/cpu/syscall_darwin_arm64_gc.go +54 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/zcpu_windows.go +48 -0
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule.go +4 -0
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +1 -1
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables17.0.0.go +2135 -0
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/forminfo.go +18 -8
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +1410 -1410
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/{tables13.0.0.go → tables17.0.0.go} +3530 -3186
- package/bin/go/src/vendor/modules.txt +14 -8
- package/bin/ttsc-cache.exe +0 -0
- package/bin/ttsc.exe +0 -0
- package/bin/ttscserver.exe +0 -0
- package/package.json +1 -1
- package/bin/go/src/crypto/internal/fips140/nistec/p256_ordinv_noasm.go +0 -13
- package/bin/go/src/go/internal/scannerhooks/hooks.go +0 -11
- package/bin/go/src/hash/maphash/maphash_purego.go +0 -200
- package/bin/go/src/hash/maphash/maphash_runtime.go +0 -64
- package/bin/go/src/internal/goexperiment/exp_goroutineleakprofile_off.go +0 -8
- package/bin/go/src/internal/goexperiment/exp_goroutineleakprofile_on.go +0 -8
- package/bin/go/src/internal/strconv/atofeisel.go +0 -166
- package/bin/go/src/internal/strconv/ftoadbox.go +0 -349
- package/bin/go/src/internal/strconv/ftoafixed.go +0 -184
- package/bin/go/src/internal/strconv/math.go +0 -179
- package/bin/go/src/net/http/h2_bundle.go +0 -12371
- package/bin/go/src/net/http/h2_error.go +0 -37
- package/bin/go/src/runtime/cgo/gcc_darwin_amd64.c +0 -61
- package/bin/go/src/runtime/cgo/gcc_darwin_arm64.c +0 -148
- package/bin/go/src/runtime/cgo/gcc_dragonfly_amd64.c +0 -61
- package/bin/go/src/runtime/cgo/gcc_freebsd.c +0 -72
- package/bin/go/src/runtime/cgo/gcc_freebsd_amd64.c +0 -72
- package/bin/go/src/runtime/cgo/gcc_linux.c +0 -67
- package/bin/go/src/runtime/cgo/gcc_linux_amd64.c +0 -92
- package/bin/go/src/runtime/cgo/gcc_linux_arm64.c +0 -88
- package/bin/go/src/runtime/cgo/gcc_linux_s390x.c +0 -64
- package/bin/go/src/runtime/cgo/gcc_openbsd.c +0 -62
- package/bin/go/src/runtime/cgo/gcc_ppc64x.c +0 -68
- package/bin/go/src/runtime/cgo/gcc_signal2_ios_arm64.c +0 -11
- package/bin/go/src/runtime/cgo/gcc_signal_ios_arm64.c +0 -213
- package/bin/go/src/runtime/cgo/gcc_signal_ios_nolldb.c +0 -10
- package/bin/go/src/runtime/cgo/gcc_solaris_amd64.c +0 -83
- package/bin/go/src/runtime/cgo/gcc_stack_darwin.c +0 -25
- package/bin/go/src/runtime/cgo/gcc_stack_unix.c +0 -48
- package/bin/go/src/runtime/cgo/gcc_windows_386.c +0 -55
- package/bin/go/src/runtime/cgo/gcc_windows_amd64.c +0 -54
- package/bin/go/src/runtime/cgo/gcc_windows_arm64.c +0 -42
- package/bin/go/src/runtime/cgo/libcgo_windows.h +0 -6
- package/bin/go/src/runtime/cgo/signal_ios_arm64.go +0 -10
- package/bin/go/src/runtime/cgo/signal_ios_arm64.s +0 -56
- package/bin/go/src/runtime/rt0_linux_ppc64.s +0 -28
- package/bin/go/src/runtime/stubs_ppc64.go +0 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/go.yaml +0 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go.yaml +0 -172
- package/bin/go/src/syscall/asm_openbsd_mips64.s +0 -129
- package/bin/go/src/syscall/syscall_openbsd1.go +0 -12
- package/bin/go/src/syscall/syscall_openbsd_libc.go +0 -84
- package/bin/go/src/syscall/syscall_openbsd_mips64.go +0 -43
- package/bin/go/src/syscall/zerrors_openbsd_mips64.go +0 -1682
- package/bin/go/src/syscall/zsyscall_openbsd_mips64.go +0 -1289
- package/bin/go/src/syscall/zsysnum_openbsd_mips64.go +0 -218
- package/bin/go/src/syscall/ztypes_openbsd_mips64.go +0 -443
- package/bin/go/src/vendor/golang.org/x/net/idna/go118.go +0 -13
- package/bin/go/src/vendor/golang.org/x/net/idna/idna9.0.0.go +0 -717
- package/bin/go/src/vendor/golang.org/x/net/idna/pre_go118.go +0 -11
- package/bin/go/src/vendor/golang.org/x/net/idna/tables10.0.0.go +0 -4559
- package/bin/go/src/vendor/golang.org/x/net/idna/tables11.0.0.go +0 -4653
- package/bin/go/src/vendor/golang.org/x/net/idna/tables12.0.0.go +0 -4733
- package/bin/go/src/vendor/golang.org/x/net/idna/tables13.0.0.go +0 -4959
- package/bin/go/src/vendor/golang.org/x/net/idna/tables9.0.0.go +0 -4486
- package/bin/go/src/vendor/golang.org/x/net/idna/trie12.0.0.go +0 -30
- package/bin/go/src/vendor/golang.org/x/net/idna/trie13.0.0.go +0 -30
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +0 -11
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +0 -14
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +0 -1815
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +0 -1887
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +0 -1923
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +0 -1955
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +0 -1781
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +0 -7657
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +0 -7693
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +0 -7710
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +0 -7637
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Compares/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MinMax/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/{go.yaml → go_amd64.yaml} +0 -0
|
@@ -35,7 +35,7 @@ import (
|
|
|
35
35
|
const optimizeCommon = true
|
|
36
36
|
|
|
37
37
|
var (
|
|
38
|
-
// Most natural Go
|
|
38
|
+
// Most natural Go types that correspond with each JSON type.
|
|
39
39
|
anyType = reflect.TypeFor[any]() // JSON value
|
|
40
40
|
boolType = reflect.TypeFor[bool]() // JSON bool
|
|
41
41
|
stringType = reflect.TypeFor[string]() // JSON string
|
|
@@ -127,12 +127,19 @@ func makeBoolArshaler(t reflect.Type) *arshaler {
|
|
|
127
127
|
var fncs arshaler
|
|
128
128
|
fncs.marshal = func(enc *jsontext.Encoder, va addressableValue, mo *jsonopts.Struct) error {
|
|
129
129
|
xe := export.Encoder(enc)
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
var stringify bool // always false except `string` tag with StringifyWithLegacySemantics
|
|
131
|
+
if mo.Flags.Has(jsonflags.TagFlags) {
|
|
132
|
+
stringify = mo.Flags.Get(jsonflags.StringTag) && mo.Flags.Get(jsonflags.StringifyWithLegacySemantics)
|
|
133
|
+
if mo.Flags.Get(jsonflags.StringTag) && !mo.Flags.Get(jsonflags.StringifyWithLegacySemantics|jsonflags.ReportErrorsWithLegacySemantics) {
|
|
134
|
+
return newMarshalErrorBefore(enc, t, errInvalidStringTag)
|
|
135
|
+
}
|
|
136
|
+
if mo.Flags.Has(jsonflags.FormatTag) {
|
|
137
|
+
return newInvalidFormatError(enc, t)
|
|
138
|
+
}
|
|
132
139
|
}
|
|
133
140
|
|
|
134
141
|
// Optimize for marshaling without preceding whitespace.
|
|
135
|
-
if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace
|
|
142
|
+
if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace) && !stringify && !xe.Tokens.Last.NeedObjectName() {
|
|
136
143
|
xe.Buf = strconv.AppendBool(xe.Tokens.MayAppendDelim(xe.Buf, 't'), va.Bool())
|
|
137
144
|
xe.Tokens.Last.Increment()
|
|
138
145
|
if xe.NeedFlush() {
|
|
@@ -141,7 +148,7 @@ func makeBoolArshaler(t reflect.Type) *arshaler {
|
|
|
141
148
|
return nil
|
|
142
149
|
}
|
|
143
150
|
|
|
144
|
-
if
|
|
151
|
+
if stringify {
|
|
145
152
|
if va.Bool() {
|
|
146
153
|
return enc.WriteToken(jsontext.String("true"))
|
|
147
154
|
} else {
|
|
@@ -151,9 +158,15 @@ func makeBoolArshaler(t reflect.Type) *arshaler {
|
|
|
151
158
|
return enc.WriteToken(jsontext.Bool(va.Bool()))
|
|
152
159
|
}
|
|
153
160
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
154
|
-
|
|
155
|
-
if uo.
|
|
156
|
-
|
|
161
|
+
var stringify bool // always false except `string` tag with StringifyWithLegacySemantics
|
|
162
|
+
if uo.Flags.Has(jsonflags.TagFlags) {
|
|
163
|
+
stringify = uo.Flags.Get(jsonflags.StringTag) && uo.Flags.Get(jsonflags.StringifyWithLegacySemantics)
|
|
164
|
+
if uo.Flags.Get(jsonflags.StringTag) && !uo.Flags.Get(jsonflags.StringifyWithLegacySemantics|jsonflags.ReportErrorsWithLegacySemantics) {
|
|
165
|
+
return newUnmarshalErrorBeforeWithSkipping(dec, t, errInvalidStringTag)
|
|
166
|
+
}
|
|
167
|
+
if uo.Flags.Has(jsonflags.FormatTag) {
|
|
168
|
+
return newInvalidFormatError(dec, t)
|
|
169
|
+
}
|
|
157
170
|
}
|
|
158
171
|
tok, err := dec.ReadToken()
|
|
159
172
|
if err != nil {
|
|
@@ -167,12 +180,12 @@ func makeBoolArshaler(t reflect.Type) *arshaler {
|
|
|
167
180
|
}
|
|
168
181
|
return nil
|
|
169
182
|
case 't', 'f':
|
|
170
|
-
if !
|
|
183
|
+
if !stringify {
|
|
171
184
|
va.SetBool(tok.Bool())
|
|
172
185
|
return nil
|
|
173
186
|
}
|
|
174
187
|
case '"':
|
|
175
|
-
if
|
|
188
|
+
if stringify {
|
|
176
189
|
switch tok.String() {
|
|
177
190
|
case "true":
|
|
178
191
|
va.SetBool(true)
|
|
@@ -199,16 +212,23 @@ func makeStringArshaler(t reflect.Type) *arshaler {
|
|
|
199
212
|
var fncs arshaler
|
|
200
213
|
fncs.marshal = func(enc *jsontext.Encoder, va addressableValue, mo *jsonopts.Struct) error {
|
|
201
214
|
xe := export.Encoder(enc)
|
|
202
|
-
|
|
203
|
-
|
|
215
|
+
var stringify bool // always false except `string` tag with StringifyWithLegacySemantics
|
|
216
|
+
if mo.Flags.Has(jsonflags.TagFlags) {
|
|
217
|
+
stringify = mo.Flags.Get(jsonflags.StringTag) && mo.Flags.Get(jsonflags.StringifyWithLegacySemantics)
|
|
218
|
+
if mo.Flags.Get(jsonflags.StringTag) && !mo.Flags.Get(jsonflags.StringifyWithLegacySemantics|jsonflags.ReportErrorsWithLegacySemantics) {
|
|
219
|
+
return newMarshalErrorBefore(enc, t, errInvalidStringTag)
|
|
220
|
+
}
|
|
221
|
+
if mo.Flags.Has(jsonflags.FormatTag) {
|
|
222
|
+
return newInvalidFormatError(enc, t)
|
|
223
|
+
}
|
|
204
224
|
}
|
|
205
225
|
|
|
206
226
|
// Optimize for marshaling without preceding whitespace.
|
|
207
227
|
s := va.String()
|
|
208
|
-
if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace
|
|
228
|
+
if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace) && !stringify && !xe.Tokens.Last.NeedObjectName() {
|
|
209
229
|
b := xe.Buf
|
|
210
230
|
b = xe.Tokens.MayAppendDelim(b, '"')
|
|
211
|
-
b, err := jsonwire.AppendQuote(b, s, &mo.Flags)
|
|
231
|
+
b, err := jsonwire.AppendQuote(b, []byte(s), &mo.Flags)
|
|
212
232
|
if err == nil {
|
|
213
233
|
xe.Buf = b
|
|
214
234
|
xe.Tokens.Last.Increment()
|
|
@@ -221,8 +241,8 @@ func makeStringArshaler(t reflect.Type) *arshaler {
|
|
|
221
241
|
// so let the logic below construct the proper error.
|
|
222
242
|
}
|
|
223
243
|
|
|
224
|
-
if
|
|
225
|
-
b, err := jsonwire.AppendQuote(nil, s, &mo.Flags)
|
|
244
|
+
if stringify {
|
|
245
|
+
b, err := jsonwire.AppendQuote(nil, []byte(s), &mo.Flags)
|
|
226
246
|
if err != nil {
|
|
227
247
|
return newMarshalErrorBefore(enc, t, &jsontext.SyntacticError{Err: err})
|
|
228
248
|
}
|
|
@@ -236,8 +256,15 @@ func makeStringArshaler(t reflect.Type) *arshaler {
|
|
|
236
256
|
}
|
|
237
257
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
238
258
|
xd := export.Decoder(dec)
|
|
239
|
-
|
|
240
|
-
|
|
259
|
+
var stringify bool // always false except `string` tag with StringifyWithLegacySemantics
|
|
260
|
+
if uo.Flags.Has(jsonflags.TagFlags) {
|
|
261
|
+
stringify = uo.Flags.Get(jsonflags.StringTag) && uo.Flags.Get(jsonflags.StringifyWithLegacySemantics)
|
|
262
|
+
if uo.Flags.Get(jsonflags.StringTag) && !uo.Flags.Get(jsonflags.StringifyWithLegacySemantics|jsonflags.ReportErrorsWithLegacySemantics) {
|
|
263
|
+
return newUnmarshalErrorBeforeWithSkipping(dec, t, errInvalidStringTag)
|
|
264
|
+
}
|
|
265
|
+
if uo.Flags.Has(jsonflags.FormatTag) {
|
|
266
|
+
return newInvalidFormatError(dec, t)
|
|
267
|
+
}
|
|
241
268
|
}
|
|
242
269
|
var flags jsonwire.ValueFlags
|
|
243
270
|
val, err := xd.ReadValue(&flags)
|
|
@@ -253,17 +280,17 @@ func makeStringArshaler(t reflect.Type) *arshaler {
|
|
|
253
280
|
return nil
|
|
254
281
|
case '"':
|
|
255
282
|
val = jsonwire.UnquoteMayCopy(val, flags.IsVerbatim())
|
|
256
|
-
if
|
|
257
|
-
val
|
|
258
|
-
if err != nil {
|
|
259
|
-
return newUnmarshalErrorAfter(dec, t, err)
|
|
260
|
-
}
|
|
261
|
-
if uo.Flags.Get(jsonflags.StringifyWithLegacySemantics) && string(val) == "null" {
|
|
283
|
+
if stringify {
|
|
284
|
+
if string(val) == "null" {
|
|
262
285
|
if !uo.Flags.Get(jsonflags.MergeWithLegacySemantics) {
|
|
263
286
|
va.SetString("")
|
|
264
287
|
}
|
|
265
288
|
return nil
|
|
266
289
|
}
|
|
290
|
+
val, err = jsontext.AppendUnquote(nil, val)
|
|
291
|
+
if err != nil {
|
|
292
|
+
return newUnmarshalErrorAfter(dec, t, err)
|
|
293
|
+
}
|
|
267
294
|
}
|
|
268
295
|
if xd.StringCache == nil {
|
|
269
296
|
xd.StringCache = new(stringCache)
|
|
@@ -311,32 +338,37 @@ func makeBytesArshaler(t reflect.Type, fncs *arshaler) *arshaler {
|
|
|
311
338
|
}
|
|
312
339
|
xe := export.Encoder(enc)
|
|
313
340
|
appendEncode := appendEncodeBase64
|
|
314
|
-
if mo.
|
|
315
|
-
switch
|
|
316
|
-
case
|
|
317
|
-
|
|
318
|
-
case
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
341
|
+
if mo.Flags.Has(jsonflags.TagFlags | jsonflags.FormatByteArrayAsArray | jsonflags.FormatBytesWithLegacySemantics | jsonflags.FormatNilSliceAsNull) {
|
|
342
|
+
switch {
|
|
343
|
+
case mo.Flags.Get(jsonflags.StringTag) && !mo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics):
|
|
344
|
+
return newMarshalErrorBefore(enc, t, errInvalidStringTag)
|
|
345
|
+
case mo.Flags.Has(jsonflags.FormatTag):
|
|
346
|
+
switch mo.Format {
|
|
347
|
+
case "base64":
|
|
348
|
+
appendEncode = appendEncodeBase64
|
|
349
|
+
case "base64url":
|
|
350
|
+
appendEncode = appendEncodeBase64URL
|
|
351
|
+
case "base32":
|
|
352
|
+
appendEncode = appendEncodeBase32
|
|
353
|
+
case "base32hex":
|
|
354
|
+
appendEncode = appendEncodeBase32Hex
|
|
355
|
+
case "base16", "hex":
|
|
356
|
+
appendEncode = appendEncodeBase16
|
|
357
|
+
case "array":
|
|
358
|
+
mo.Flags.Clear(jsonflags.FormatTag)
|
|
359
|
+
return marshalArray(enc, va, mo)
|
|
360
|
+
default:
|
|
361
|
+
return newInvalidFormatError(enc, t)
|
|
362
|
+
}
|
|
363
|
+
case mo.Flags.Get(jsonflags.FormatByteArrayAsArray) && va.Kind() == reflect.Array:
|
|
364
|
+
return marshalArray(enc, va, mo)
|
|
365
|
+
case mo.Flags.Get(jsonflags.FormatBytesWithLegacySemantics) && hasMarshaler:
|
|
328
366
|
return marshalArray(enc, va, mo)
|
|
329
|
-
default:
|
|
330
|
-
return newInvalidFormatError(enc, t)
|
|
331
367
|
}
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
}
|
|
337
|
-
if mo.Flags.Get(jsonflags.FormatNilSliceAsNull) && va.Kind() == reflect.Slice && va.IsNil() {
|
|
338
|
-
// TODO: Provide a "emitempty" format override?
|
|
339
|
-
return enc.WriteToken(jsontext.Null)
|
|
368
|
+
if mo.Flags.Get(jsonflags.FormatNilSliceAsNull) && va.Kind() == reflect.Slice && va.IsNil() {
|
|
369
|
+
// TODO: Provide an "emitempty" format override?
|
|
370
|
+
return enc.WriteToken(jsontext.Null)
|
|
371
|
+
}
|
|
340
372
|
}
|
|
341
373
|
return xe.AppendRaw('"', true, func(b []byte) ([]byte, error) {
|
|
342
374
|
return appendEncode(b, va.Bytes()), nil
|
|
@@ -349,28 +381,33 @@ func makeBytesArshaler(t reflect.Type, fncs *arshaler) *arshaler {
|
|
|
349
381
|
}
|
|
350
382
|
xd := export.Decoder(dec)
|
|
351
383
|
appendDecode, encodedLen := appendDecodeBase64, encodedLenBase64
|
|
352
|
-
if uo.
|
|
353
|
-
switch
|
|
354
|
-
case
|
|
355
|
-
|
|
356
|
-
case
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
384
|
+
if uo.Flags.Has(jsonflags.TagFlags | jsonflags.FormatByteArrayAsArray | jsonflags.FormatBytesWithLegacySemantics) {
|
|
385
|
+
switch {
|
|
386
|
+
case uo.Flags.Get(jsonflags.StringTag) && !uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics):
|
|
387
|
+
return newUnmarshalErrorBeforeWithSkipping(dec, t, errInvalidStringTag)
|
|
388
|
+
case uo.Flags.Has(jsonflags.FormatTag):
|
|
389
|
+
switch uo.Format {
|
|
390
|
+
case "base64":
|
|
391
|
+
appendDecode, encodedLen = appendDecodeBase64, encodedLenBase64
|
|
392
|
+
case "base64url":
|
|
393
|
+
appendDecode, encodedLen = appendDecodeBase64URL, encodedLenBase64URL
|
|
394
|
+
case "base32":
|
|
395
|
+
appendDecode, encodedLen = appendDecodeBase32, encodedLenBase32
|
|
396
|
+
case "base32hex":
|
|
397
|
+
appendDecode, encodedLen = appendDecodeBase32Hex, encodedLenBase32Hex
|
|
398
|
+
case "base16", "hex":
|
|
399
|
+
appendDecode, encodedLen = appendDecodeBase16, encodedLenBase16
|
|
400
|
+
case "array":
|
|
401
|
+
uo.Flags.Clear(jsonflags.FormatTag)
|
|
402
|
+
return unmarshalArray(dec, va, uo)
|
|
403
|
+
default:
|
|
404
|
+
return newInvalidFormatError(dec, t)
|
|
405
|
+
}
|
|
406
|
+
case uo.Flags.Get(jsonflags.FormatByteArrayAsArray) && va.Kind() == reflect.Array:
|
|
407
|
+
return unmarshalArray(dec, va, uo)
|
|
408
|
+
case uo.Flags.Get(jsonflags.FormatBytesWithLegacySemantics) && dec.PeekKind() == '[':
|
|
366
409
|
return unmarshalArray(dec, va, uo)
|
|
367
|
-
default:
|
|
368
|
-
return newInvalidFormatError(dec, t)
|
|
369
410
|
}
|
|
370
|
-
} else if uo.Flags.Get(jsonflags.FormatByteArrayAsArray) && va.Kind() == reflect.Array {
|
|
371
|
-
return unmarshalArray(dec, va, uo)
|
|
372
|
-
} else if uo.Flags.Get(jsonflags.FormatBytesWithLegacySemantics) && dec.PeekKind() == '[' {
|
|
373
|
-
return unmarshalArray(dec, va, uo)
|
|
374
411
|
}
|
|
375
412
|
var flags jsonwire.ValueFlags
|
|
376
413
|
val, err := xd.ReadValue(&flags)
|
|
@@ -409,7 +446,7 @@ func makeBytesArshaler(t reflect.Type, fncs *arshaler) *arshaler {
|
|
|
409
446
|
|
|
410
447
|
if va.Kind() == reflect.Array {
|
|
411
448
|
dst := va.Bytes()
|
|
412
|
-
clear(dst[copy(dst, b):]) // noop if len(b)
|
|
449
|
+
clear(dst[copy(dst, b):]) // noop if len(b) >= len(dst)
|
|
413
450
|
if len(b) != len(dst) && !uo.Flags.Get(jsonflags.UnmarshalArrayFromAnyLength) {
|
|
414
451
|
err := fmt.Errorf("decoded length of %d mismatches array length of %d", len(b), len(dst))
|
|
415
452
|
return newUnmarshalErrorAfter(dec, t, err)
|
|
@@ -432,12 +469,13 @@ func makeIntArshaler(t reflect.Type) *arshaler {
|
|
|
432
469
|
bits := t.Bits()
|
|
433
470
|
fncs.marshal = func(enc *jsontext.Encoder, va addressableValue, mo *jsonopts.Struct) error {
|
|
434
471
|
xe := export.Encoder(enc)
|
|
435
|
-
|
|
472
|
+
stringify := xe.Tokens.Last.NeedObjectName() || mo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
|
|
473
|
+
if mo.Flags.Has(jsonflags.FormatTag) {
|
|
436
474
|
return newInvalidFormatError(enc, t)
|
|
437
475
|
}
|
|
438
476
|
|
|
439
477
|
// Optimize for marshaling without preceding whitespace or string escaping.
|
|
440
|
-
if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace
|
|
478
|
+
if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace) && !stringify {
|
|
441
479
|
xe.Buf = strconv.AppendInt(xe.Tokens.MayAppendDelim(xe.Buf, '0'), va.Int(), 10)
|
|
442
480
|
xe.Tokens.Last.Increment()
|
|
443
481
|
if xe.NeedFlush() {
|
|
@@ -446,17 +484,17 @@ func makeIntArshaler(t reflect.Type) *arshaler {
|
|
|
446
484
|
return nil
|
|
447
485
|
}
|
|
448
486
|
|
|
449
|
-
k := stringOrNumberKind(
|
|
487
|
+
k := stringOrNumberKind(stringify)
|
|
450
488
|
return xe.AppendRaw(k, true, func(b []byte) ([]byte, error) {
|
|
451
489
|
return strconv.AppendInt(b, va.Int(), 10), nil
|
|
452
490
|
})
|
|
453
491
|
}
|
|
454
492
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
455
493
|
xd := export.Decoder(dec)
|
|
456
|
-
|
|
494
|
+
stringify := xd.Tokens.Last.NeedObjectName() || uo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
|
|
495
|
+
if uo.Flags.Has(jsonflags.FormatTag) {
|
|
457
496
|
return newInvalidFormatError(dec, t)
|
|
458
497
|
}
|
|
459
|
-
stringify := xd.Tokens.Last.NeedObjectName() || uo.Flags.Get(jsonflags.StringifyNumbers)
|
|
460
498
|
var flags jsonwire.ValueFlags
|
|
461
499
|
val, err := xd.ReadValue(&flags)
|
|
462
500
|
if err != nil {
|
|
@@ -530,12 +568,13 @@ func makeUintArshaler(t reflect.Type) *arshaler {
|
|
|
530
568
|
bits := t.Bits()
|
|
531
569
|
fncs.marshal = func(enc *jsontext.Encoder, va addressableValue, mo *jsonopts.Struct) error {
|
|
532
570
|
xe := export.Encoder(enc)
|
|
533
|
-
|
|
571
|
+
stringify := xe.Tokens.Last.NeedObjectName() || mo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
|
|
572
|
+
if mo.Flags.Has(jsonflags.FormatTag) {
|
|
534
573
|
return newInvalidFormatError(enc, t)
|
|
535
574
|
}
|
|
536
575
|
|
|
537
576
|
// Optimize for marshaling without preceding whitespace or string escaping.
|
|
538
|
-
if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace
|
|
577
|
+
if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace) && !stringify {
|
|
539
578
|
xe.Buf = strconv.AppendUint(xe.Tokens.MayAppendDelim(xe.Buf, '0'), va.Uint(), 10)
|
|
540
579
|
xe.Tokens.Last.Increment()
|
|
541
580
|
if xe.NeedFlush() {
|
|
@@ -544,17 +583,17 @@ func makeUintArshaler(t reflect.Type) *arshaler {
|
|
|
544
583
|
return nil
|
|
545
584
|
}
|
|
546
585
|
|
|
547
|
-
k := stringOrNumberKind(
|
|
586
|
+
k := stringOrNumberKind(stringify)
|
|
548
587
|
return xe.AppendRaw(k, true, func(b []byte) ([]byte, error) {
|
|
549
588
|
return strconv.AppendUint(b, va.Uint(), 10), nil
|
|
550
589
|
})
|
|
551
590
|
}
|
|
552
591
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
553
592
|
xd := export.Decoder(dec)
|
|
554
|
-
|
|
593
|
+
stringify := xd.Tokens.Last.NeedObjectName() || uo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
|
|
594
|
+
if uo.Flags.Has(jsonflags.FormatTag) {
|
|
555
595
|
return newInvalidFormatError(dec, t)
|
|
556
596
|
}
|
|
557
|
-
stringify := xd.Tokens.Last.NeedObjectName() || uo.Flags.Get(jsonflags.StringifyNumbers)
|
|
558
597
|
var flags jsonwire.ValueFlags
|
|
559
598
|
val, err := xd.ReadValue(&flags)
|
|
560
599
|
if err != nil {
|
|
@@ -619,8 +658,9 @@ func makeFloatArshaler(t reflect.Type) *arshaler {
|
|
|
619
658
|
bits := t.Bits()
|
|
620
659
|
fncs.marshal = func(enc *jsontext.Encoder, va addressableValue, mo *jsonopts.Struct) error {
|
|
621
660
|
xe := export.Encoder(enc)
|
|
661
|
+
stringify := xe.Tokens.Last.NeedObjectName() || mo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
|
|
622
662
|
var allowNonFinite bool
|
|
623
|
-
if mo.
|
|
663
|
+
if mo.Flags.Has(jsonflags.FormatTag) {
|
|
624
664
|
if mo.Format == "nonfinite" {
|
|
625
665
|
allowNonFinite = true
|
|
626
666
|
} else {
|
|
@@ -632,13 +672,16 @@ func makeFloatArshaler(t reflect.Type) *arshaler {
|
|
|
632
672
|
if math.IsNaN(fv) || math.IsInf(fv, 0) {
|
|
633
673
|
if !allowNonFinite {
|
|
634
674
|
err := fmt.Errorf("unsupported value: %v", fv)
|
|
675
|
+
if mo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
676
|
+
err = &internal.ValueError{Val: va.Interface(), Err: err}
|
|
677
|
+
}
|
|
635
678
|
return newMarshalErrorBefore(enc, t, err)
|
|
636
679
|
}
|
|
637
680
|
return enc.WriteToken(jsontext.Float(fv))
|
|
638
681
|
}
|
|
639
682
|
|
|
640
683
|
// Optimize for marshaling without preceding whitespace or string escaping.
|
|
641
|
-
if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace
|
|
684
|
+
if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace) && !stringify {
|
|
642
685
|
xe.Buf = jsonwire.AppendFloat(xe.Tokens.MayAppendDelim(xe.Buf, '0'), fv, bits)
|
|
643
686
|
xe.Tokens.Last.Increment()
|
|
644
687
|
if xe.NeedFlush() {
|
|
@@ -647,22 +690,23 @@ func makeFloatArshaler(t reflect.Type) *arshaler {
|
|
|
647
690
|
return nil
|
|
648
691
|
}
|
|
649
692
|
|
|
650
|
-
k := stringOrNumberKind(
|
|
693
|
+
k := stringOrNumberKind(stringify)
|
|
651
694
|
return xe.AppendRaw(k, true, func(b []byte) ([]byte, error) {
|
|
652
695
|
return jsonwire.AppendFloat(b, va.Float(), bits), nil
|
|
653
696
|
})
|
|
654
697
|
}
|
|
655
698
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
656
699
|
xd := export.Decoder(dec)
|
|
700
|
+
stringify := xd.Tokens.Last.NeedObjectName() || uo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
|
|
657
701
|
var allowNonFinite bool
|
|
658
|
-
if uo.
|
|
702
|
+
if uo.Flags.Has(jsonflags.FormatTag) {
|
|
659
703
|
if uo.Format == "nonfinite" {
|
|
660
704
|
allowNonFinite = true
|
|
661
705
|
} else {
|
|
662
706
|
return newInvalidFormatError(dec, t)
|
|
663
707
|
}
|
|
664
708
|
}
|
|
665
|
-
|
|
709
|
+
|
|
666
710
|
var flags jsonwire.ValueFlags
|
|
667
711
|
val, err := xd.ReadValue(&flags)
|
|
668
712
|
if err != nil {
|
|
@@ -718,11 +762,11 @@ func makeFloatArshaler(t reflect.Type) *arshaler {
|
|
|
718
762
|
if stringify && k == '0' {
|
|
719
763
|
break
|
|
720
764
|
}
|
|
721
|
-
fv,
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
return newUnmarshalErrorAfterWithValue(dec, t, strconv.ErrRange)
|
|
765
|
+
fv, err := strconv.ParseFloat(string(val), bits)
|
|
766
|
+
if err != nil {
|
|
767
|
+
return newUnmarshalErrorAfterWithValue(dec, t, errors.Unwrap(err))
|
|
725
768
|
}
|
|
769
|
+
va.SetFloat(fv)
|
|
726
770
|
return nil
|
|
727
771
|
}
|
|
728
772
|
return newUnmarshalErrorAfter(dec, t, nil)
|
|
@@ -761,16 +805,19 @@ func makeMapArshaler(t reflect.Type) *arshaler {
|
|
|
761
805
|
}
|
|
762
806
|
|
|
763
807
|
emitNull := mo.Flags.Get(jsonflags.FormatNilMapAsNull)
|
|
764
|
-
if mo.
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
808
|
+
if mo.Flags.Has(jsonflags.TagFlags) {
|
|
809
|
+
if mo.Flags.Get(jsonflags.StringTag) && !mo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
810
|
+
return newMarshalErrorBefore(enc, t, errInvalidStringTag)
|
|
811
|
+
}
|
|
812
|
+
if mo.Flags.Has(jsonflags.FormatTag) {
|
|
813
|
+
switch mo.Format {
|
|
814
|
+
case "emitnull":
|
|
815
|
+
emitNull = true
|
|
816
|
+
case "emitempty":
|
|
817
|
+
emitNull = false
|
|
818
|
+
default:
|
|
819
|
+
return newInvalidFormatError(enc, t)
|
|
820
|
+
}
|
|
774
821
|
}
|
|
775
822
|
}
|
|
776
823
|
|
|
@@ -910,12 +957,16 @@ func makeMapArshaler(t reflect.Type) *arshaler {
|
|
|
910
957
|
}
|
|
911
958
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
912
959
|
xd := export.Decoder(dec)
|
|
913
|
-
if uo.
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
960
|
+
if uo.Flags.Has(jsonflags.TagFlags) {
|
|
961
|
+
if uo.Flags.Get(jsonflags.StringTag) && !uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
962
|
+
return newUnmarshalErrorBeforeWithSkipping(dec, t, errInvalidStringTag)
|
|
963
|
+
}
|
|
964
|
+
if uo.Flags.Has(jsonflags.FormatTag) {
|
|
965
|
+
switch uo.Format {
|
|
966
|
+
case "emitnull", "emitempty":
|
|
967
|
+
default:
|
|
968
|
+
return newInvalidFormatError(dec, t)
|
|
969
|
+
}
|
|
919
970
|
}
|
|
920
971
|
}
|
|
921
972
|
tok, err := dec.ReadToken()
|
|
@@ -1033,7 +1084,7 @@ func makeMapArshaler(t reflect.Type) *arshaler {
|
|
|
1033
1084
|
// mapKeyWithUniqueRepresentation reports whether all possible values of k
|
|
1034
1085
|
// marshal to a different JSON value, and whether all possible JSON values
|
|
1035
1086
|
// that can unmarshal into k unmarshal to different Go values.
|
|
1036
|
-
// In other words, the representation must be a
|
|
1087
|
+
// In other words, the representation must be a bijection.
|
|
1037
1088
|
func mapKeyWithUniqueRepresentation(k reflect.Kind, allowInvalidUTF8 bool) bool {
|
|
1038
1089
|
switch k {
|
|
1039
1090
|
case reflect.Bool,
|
|
@@ -1042,7 +1093,7 @@ func mapKeyWithUniqueRepresentation(k reflect.Kind, allowInvalidUTF8 bool) bool
|
|
|
1042
1093
|
return true
|
|
1043
1094
|
case reflect.String:
|
|
1044
1095
|
// For strings, we have to be careful since names with invalid UTF-8
|
|
1045
|
-
//
|
|
1096
|
+
// may unescape to the same Go string value.
|
|
1046
1097
|
return !allowInvalidUTF8
|
|
1047
1098
|
default:
|
|
1048
1099
|
// Floating-point kinds are not listed above since NaNs
|
|
@@ -1052,6 +1103,7 @@ func mapKeyWithUniqueRepresentation(k reflect.Kind, allowInvalidUTF8 bool) bool
|
|
|
1052
1103
|
}
|
|
1053
1104
|
|
|
1054
1105
|
var errNilField = errors.New("cannot set embedded pointer to unexported struct type")
|
|
1106
|
+
var errInvalidStringTag = errors.New("invalid use of `string` tag option")
|
|
1055
1107
|
|
|
1056
1108
|
func makeStructArshaler(t reflect.Type) *arshaler {
|
|
1057
1109
|
// NOTE: The logic below disables namespaces for tracking duplicate names
|
|
@@ -1069,13 +1121,21 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1069
1121
|
}
|
|
1070
1122
|
fncs.marshal = func(enc *jsontext.Encoder, va addressableValue, mo *jsonopts.Struct) error {
|
|
1071
1123
|
xe := export.Encoder(enc)
|
|
1072
|
-
if mo.
|
|
1073
|
-
|
|
1124
|
+
if mo.Flags.Has(jsonflags.TagFlags) {
|
|
1125
|
+
if mo.Flags.Get(jsonflags.StringTag) && !mo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1126
|
+
return newMarshalErrorBefore(enc, t, errInvalidStringTag)
|
|
1127
|
+
}
|
|
1128
|
+
if mo.Flags.Has(jsonflags.FormatTag) {
|
|
1129
|
+
return newInvalidFormatError(enc, t)
|
|
1130
|
+
}
|
|
1074
1131
|
}
|
|
1075
1132
|
once.Do(init)
|
|
1076
1133
|
if errInit != nil && !mo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1077
1134
|
return newMarshalErrorBefore(enc, errInit.GoType, errInit.Err)
|
|
1135
|
+
} else if fields.errUnsupportedFormat != nil && !mo.Flags.Get(jsonflags.FormatTagSupported) {
|
|
1136
|
+
return newMarshalErrorBefore(enc, fields.errUnsupportedFormat.GoType, fields.errUnsupportedFormat.Err)
|
|
1078
1137
|
}
|
|
1138
|
+
|
|
1079
1139
|
if err := enc.WriteToken(jsontext.BeginObject); err != nil {
|
|
1080
1140
|
return err
|
|
1081
1141
|
}
|
|
@@ -1088,7 +1148,7 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1088
1148
|
if len(f.index) > 0 {
|
|
1089
1149
|
v = v.fieldByIndex(f.index, false)
|
|
1090
1150
|
if !v.IsValid() {
|
|
1091
|
-
continue // implies a nil
|
|
1151
|
+
continue // implies a nil embedded field
|
|
1092
1152
|
}
|
|
1093
1153
|
}
|
|
1094
1154
|
|
|
@@ -1148,7 +1208,7 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1148
1208
|
if !f.nameNeedEscape {
|
|
1149
1209
|
b = append(b, f.quotedName...)
|
|
1150
1210
|
} else {
|
|
1151
|
-
b, _ = jsonwire.AppendQuote(b, f.name, &mo.Flags)
|
|
1211
|
+
b, _ = jsonwire.AppendQuote(b, []byte(f.name), &mo.Flags)
|
|
1152
1212
|
}
|
|
1153
1213
|
xe.Buf = b
|
|
1154
1214
|
xe.Names.ReplaceLastQuotedOffset(n0)
|
|
@@ -1162,14 +1222,10 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1162
1222
|
// Write the object member value.
|
|
1163
1223
|
flagsOriginal := mo.Flags
|
|
1164
1224
|
if f.string {
|
|
1165
|
-
|
|
1166
|
-
mo.Flags.Set(jsonflags.StringifyNumbers | 1)
|
|
1167
|
-
} else if canLegacyStringify(f.typ) {
|
|
1168
|
-
mo.Flags.Set(jsonflags.StringifyNumbers | jsonflags.StringifyBoolsAndStrings | 1)
|
|
1169
|
-
}
|
|
1225
|
+
mo.Flags.Set(jsonflags.StringTag | 1)
|
|
1170
1226
|
}
|
|
1171
1227
|
if f.format != "" {
|
|
1172
|
-
mo.
|
|
1228
|
+
mo.Flags.Set(jsonflags.FormatTag | 1)
|
|
1173
1229
|
mo.Format = f.format
|
|
1174
1230
|
}
|
|
1175
1231
|
err := marshal(enc, v, mo)
|
|
@@ -1192,17 +1248,17 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1192
1248
|
|
|
1193
1249
|
// Remember the previous written object member.
|
|
1194
1250
|
// The set of seen fields only needs to be updated to detect
|
|
1195
|
-
// duplicate names with those from the
|
|
1196
|
-
if !mo.Flags.Get(jsonflags.AllowDuplicateNames) && fields.
|
|
1251
|
+
// duplicate names with those from the embedded fallback.
|
|
1252
|
+
if !mo.Flags.Get(jsonflags.AllowDuplicateNames) && fields.embeddedFallback != nil {
|
|
1197
1253
|
seenIdxs.insert(uint(f.id))
|
|
1198
1254
|
}
|
|
1199
1255
|
prevIdx = f.id
|
|
1200
1256
|
}
|
|
1201
|
-
if fields.
|
|
1257
|
+
if fields.embeddedFallback != nil {
|
|
1202
1258
|
var insertUnquotedName func([]byte) bool
|
|
1203
1259
|
if !mo.Flags.Get(jsonflags.AllowDuplicateNames) {
|
|
1204
1260
|
insertUnquotedName = func(name []byte) bool {
|
|
1205
|
-
// Check that the name from
|
|
1261
|
+
// Check that the name from embedded fallback does not match
|
|
1206
1262
|
// one of the previously marshaled names from known fields.
|
|
1207
1263
|
if foldedFields := fields.lookupByFoldedName(name); len(foldedFields) > 0 {
|
|
1208
1264
|
if f := fields.byActualName[string(name)]; f != nil {
|
|
@@ -1216,11 +1272,11 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1216
1272
|
}
|
|
1217
1273
|
|
|
1218
1274
|
// Check that the name does not match any other name
|
|
1219
|
-
// previously marshaled from the
|
|
1275
|
+
// previously marshaled from the embedded fallback.
|
|
1220
1276
|
return xe.Namespaces.Last().InsertUnquoted(name)
|
|
1221
1277
|
}
|
|
1222
1278
|
}
|
|
1223
|
-
if err :=
|
|
1279
|
+
if err := marshalEmbeddedFallbackAll(enc, va, mo, fields.embeddedFallback, insertUnquotedName); err != nil {
|
|
1224
1280
|
return err
|
|
1225
1281
|
}
|
|
1226
1282
|
}
|
|
@@ -1231,8 +1287,13 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1231
1287
|
}
|
|
1232
1288
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
1233
1289
|
xd := export.Decoder(dec)
|
|
1234
|
-
if uo.
|
|
1235
|
-
|
|
1290
|
+
if uo.Flags.Has(jsonflags.TagFlags) {
|
|
1291
|
+
if uo.Flags.Get(jsonflags.StringTag) && !uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1292
|
+
return newUnmarshalErrorBeforeWithSkipping(dec, t, errInvalidStringTag)
|
|
1293
|
+
}
|
|
1294
|
+
if uo.Flags.Has(jsonflags.FormatTag) {
|
|
1295
|
+
return newInvalidFormatError(dec, t)
|
|
1296
|
+
}
|
|
1236
1297
|
}
|
|
1237
1298
|
tok, err := dec.ReadToken()
|
|
1238
1299
|
if err != nil {
|
|
@@ -1249,7 +1310,10 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1249
1310
|
once.Do(init)
|
|
1250
1311
|
if errInit != nil && !uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1251
1312
|
return newUnmarshalErrorAfter(dec, errInit.GoType, errInit.Err)
|
|
1313
|
+
} else if fields.errUnsupportedFormat != nil && !uo.Flags.Get(jsonflags.FormatTagSupported) {
|
|
1314
|
+
return newUnmarshalErrorAfter(dec, fields.errUnsupportedFormat.GoType, fields.errUnsupportedFormat.Err)
|
|
1252
1315
|
}
|
|
1316
|
+
|
|
1253
1317
|
var seenIdxs uintSet
|
|
1254
1318
|
xd.Tokens.Last.DisableNamespace()
|
|
1255
1319
|
var errUnmarshal error
|
|
@@ -1263,14 +1327,20 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1263
1327
|
name := jsonwire.UnquoteMayCopy(val, flags.IsVerbatim())
|
|
1264
1328
|
f := fields.byActualName[string(name)]
|
|
1265
1329
|
if f == nil {
|
|
1330
|
+
var numMatch int
|
|
1266
1331
|
for _, f2 := range fields.lookupByFoldedName(name) {
|
|
1267
1332
|
if f2.matchFoldedName(name, &uo.Flags) {
|
|
1268
|
-
f
|
|
1269
|
-
|
|
1333
|
+
if f == nil {
|
|
1334
|
+
f = f2 // use first seen name by breadth-first order
|
|
1335
|
+
}
|
|
1336
|
+
numMatch++
|
|
1270
1337
|
}
|
|
1271
1338
|
}
|
|
1339
|
+
if numMatch > 1 && !uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1340
|
+
return newUnmarshalErrorAfter(dec, t, errAmbiguousName)
|
|
1341
|
+
}
|
|
1272
1342
|
if f == nil {
|
|
1273
|
-
if uo.Flags.Get(jsonflags.RejectUnknownMembers) &&
|
|
1343
|
+
if uo.Flags.Get(jsonflags.RejectUnknownMembers) && fields.embeddedFallback == nil {
|
|
1274
1344
|
err := newUnmarshalErrorAfter(dec, t, ErrUnknownName)
|
|
1275
1345
|
if !uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1276
1346
|
return err
|
|
@@ -1282,14 +1352,14 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1282
1352
|
return newDuplicateNameError(dec.StackPointer(), nil, dec.InputOffset()-len64(val))
|
|
1283
1353
|
}
|
|
1284
1354
|
|
|
1285
|
-
if fields.
|
|
1355
|
+
if fields.embeddedFallback == nil {
|
|
1286
1356
|
// Skip unknown value since we have no place to store it.
|
|
1287
1357
|
if err := dec.SkipValue(); err != nil {
|
|
1288
1358
|
return err
|
|
1289
1359
|
}
|
|
1290
1360
|
} else {
|
|
1291
|
-
//
|
|
1292
|
-
if err :=
|
|
1361
|
+
// Unmarshal into a value capable of storing arbitrary object members.
|
|
1362
|
+
if err := unmarshalEmbeddedFallbackNext(dec, va, uo, fields.embeddedFallback, val, name); err != nil {
|
|
1293
1363
|
if isFatalError(err, uo.Flags) {
|
|
1294
1364
|
return err
|
|
1295
1365
|
}
|
|
@@ -1311,14 +1381,10 @@ func makeStructArshaler(t reflect.Type) *arshaler {
|
|
|
1311
1381
|
}
|
|
1312
1382
|
flagsOriginal := uo.Flags
|
|
1313
1383
|
if f.string {
|
|
1314
|
-
|
|
1315
|
-
uo.Flags.Set(jsonflags.StringifyNumbers | 1)
|
|
1316
|
-
} else if canLegacyStringify(f.typ) {
|
|
1317
|
-
uo.Flags.Set(jsonflags.StringifyNumbers | jsonflags.StringifyBoolsAndStrings | 1)
|
|
1318
|
-
}
|
|
1384
|
+
uo.Flags.Set(jsonflags.StringTag | 1)
|
|
1319
1385
|
}
|
|
1320
1386
|
if f.format != "" {
|
|
1321
|
-
uo.
|
|
1387
|
+
uo.Flags.Set(jsonflags.FormatTag | 1)
|
|
1322
1388
|
uo.Format = f.format
|
|
1323
1389
|
}
|
|
1324
1390
|
v := addressableValue{va.Field(f.index0), va.forcedAddr} // addressable if struct value is addressable
|
|
@@ -1399,25 +1465,6 @@ func isLegacyEmpty(v addressableValue) bool {
|
|
|
1399
1465
|
return false
|
|
1400
1466
|
}
|
|
1401
1467
|
|
|
1402
|
-
// canLegacyStringify reports whether t can be stringified according to v1,
|
|
1403
|
-
// where t is a bool, string, or number (or unnamed pointer to such).
|
|
1404
|
-
// In v1, the `string` option does not apply recursively to nested types within
|
|
1405
|
-
// a composite Go type (e.g., an array, slice, struct, map, or interface).
|
|
1406
|
-
func canLegacyStringify(t reflect.Type) bool {
|
|
1407
|
-
// Based on encoding/json.typeFields#L1126-L1143@v1.23.0
|
|
1408
|
-
if t.Name() == "" && t.Kind() == reflect.Ptr {
|
|
1409
|
-
t = t.Elem()
|
|
1410
|
-
}
|
|
1411
|
-
switch t.Kind() {
|
|
1412
|
-
case reflect.Bool, reflect.String,
|
|
1413
|
-
reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
|
|
1414
|
-
reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr,
|
|
1415
|
-
reflect.Float32, reflect.Float64:
|
|
1416
|
-
return true
|
|
1417
|
-
}
|
|
1418
|
-
return false
|
|
1419
|
-
}
|
|
1420
|
-
|
|
1421
1468
|
func makeSliceArshaler(t reflect.Type) *arshaler {
|
|
1422
1469
|
var fncs arshaler
|
|
1423
1470
|
var (
|
|
@@ -1438,16 +1485,19 @@ func makeSliceArshaler(t reflect.Type) *arshaler {
|
|
|
1438
1485
|
}
|
|
1439
1486
|
|
|
1440
1487
|
emitNull := mo.Flags.Get(jsonflags.FormatNilSliceAsNull)
|
|
1441
|
-
if mo.
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1488
|
+
if mo.Flags.Has(jsonflags.TagFlags) {
|
|
1489
|
+
if mo.Flags.Get(jsonflags.StringTag) && !mo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1490
|
+
return newMarshalErrorBefore(enc, t, errInvalidStringTag)
|
|
1491
|
+
}
|
|
1492
|
+
if mo.Flags.Has(jsonflags.FormatTag) {
|
|
1493
|
+
switch mo.Format {
|
|
1494
|
+
case "emitnull":
|
|
1495
|
+
emitNull = true
|
|
1496
|
+
case "emitempty":
|
|
1497
|
+
emitNull = false
|
|
1498
|
+
default:
|
|
1499
|
+
return newInvalidFormatError(enc, t)
|
|
1500
|
+
}
|
|
1451
1501
|
}
|
|
1452
1502
|
}
|
|
1453
1503
|
|
|
@@ -1489,13 +1539,16 @@ func makeSliceArshaler(t reflect.Type) *arshaler {
|
|
|
1489
1539
|
}
|
|
1490
1540
|
emptySlice := reflect.MakeSlice(t, 0, 0)
|
|
1491
1541
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1542
|
+
if uo.Flags.Has(jsonflags.TagFlags) {
|
|
1543
|
+
if uo.Flags.Get(jsonflags.StringTag) && !uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1544
|
+
return newUnmarshalErrorBeforeWithSkipping(dec, t, errInvalidStringTag)
|
|
1545
|
+
}
|
|
1546
|
+
if uo.Flags.Has(jsonflags.FormatTag) {
|
|
1547
|
+
switch uo.Format {
|
|
1548
|
+
case "emitnull", "emitempty":
|
|
1549
|
+
default:
|
|
1550
|
+
return newInvalidFormatError(dec, t)
|
|
1551
|
+
}
|
|
1499
1552
|
}
|
|
1500
1553
|
}
|
|
1501
1554
|
|
|
@@ -1570,9 +1623,13 @@ func makeArrayArshaler(t reflect.Type) *arshaler {
|
|
|
1570
1623
|
}
|
|
1571
1624
|
n := t.Len()
|
|
1572
1625
|
fncs.marshal = func(enc *jsontext.Encoder, va addressableValue, mo *jsonopts.Struct) error {
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1626
|
+
if mo.Flags.Has(jsonflags.TagFlags) {
|
|
1627
|
+
if mo.Flags.Get(jsonflags.StringTag) && !mo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1628
|
+
return newMarshalErrorBefore(enc, t, errInvalidStringTag)
|
|
1629
|
+
}
|
|
1630
|
+
if mo.Flags.Has(jsonflags.FormatTag) {
|
|
1631
|
+
return newInvalidFormatError(enc, t)
|
|
1632
|
+
}
|
|
1576
1633
|
}
|
|
1577
1634
|
once.Do(init)
|
|
1578
1635
|
if err := enc.WriteToken(jsontext.BeginArray); err != nil {
|
|
@@ -1594,9 +1651,13 @@ func makeArrayArshaler(t reflect.Type) *arshaler {
|
|
|
1594
1651
|
return nil
|
|
1595
1652
|
}
|
|
1596
1653
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1654
|
+
if uo.Flags.Has(jsonflags.TagFlags) {
|
|
1655
|
+
if uo.Flags.Get(jsonflags.StringTag) && !uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1656
|
+
return newUnmarshalErrorBeforeWithSkipping(dec, t, errInvalidStringTag)
|
|
1657
|
+
}
|
|
1658
|
+
if uo.Flags.Has(jsonflags.FormatTag) {
|
|
1659
|
+
return newInvalidFormatError(dec, t)
|
|
1660
|
+
}
|
|
1600
1661
|
}
|
|
1601
1662
|
tok, err := dec.ReadToken()
|
|
1602
1663
|
if err != nil {
|
|
@@ -1674,6 +1735,12 @@ func makePointerArshaler(t reflect.Type) *arshaler {
|
|
|
1674
1735
|
}
|
|
1675
1736
|
|
|
1676
1737
|
// NOTE: Struct.Format is forwarded to underlying marshal.
|
|
1738
|
+
if mo.Flags.Get(jsonflags.StringTag) && mo.Flags.Get(jsonflags.StringifyWithLegacySemantics) && t.Elem().Kind() == reflect.Pointer {
|
|
1739
|
+
if !mo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1740
|
+
return newMarshalErrorBefore(enc, t, errInvalidStringTag)
|
|
1741
|
+
}
|
|
1742
|
+
mo.Flags.Clear(jsonflags.StringTag) // the `string` tag option does not apply to nested pointers
|
|
1743
|
+
}
|
|
1677
1744
|
if va.IsNil() {
|
|
1678
1745
|
return enc.WriteToken(jsontext.Null)
|
|
1679
1746
|
}
|
|
@@ -1694,6 +1761,12 @@ func makePointerArshaler(t reflect.Type) *arshaler {
|
|
|
1694
1761
|
va.SetZero()
|
|
1695
1762
|
return nil
|
|
1696
1763
|
}
|
|
1764
|
+
if uo.Flags.Get(jsonflags.StringTag) && uo.Flags.Get(jsonflags.StringifyWithLegacySemantics) && t.Elem().Kind() == reflect.Pointer {
|
|
1765
|
+
if !uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1766
|
+
return newUnmarshalErrorBeforeWithSkipping(dec, t, errInvalidStringTag)
|
|
1767
|
+
}
|
|
1768
|
+
uo.Flags.Clear(jsonflags.StringTag) // the `string` tag option does not apply to nested pointers
|
|
1769
|
+
}
|
|
1697
1770
|
once.Do(init)
|
|
1698
1771
|
unmarshal := valFncs.unmarshal
|
|
1699
1772
|
if uo.Unmarshalers != nil {
|
|
@@ -1706,8 +1779,7 @@ func makePointerArshaler(t reflect.Type) *arshaler {
|
|
|
1706
1779
|
if err := unmarshal(dec, v, uo); err != nil {
|
|
1707
1780
|
return err
|
|
1708
1781
|
}
|
|
1709
|
-
if uo.Flags.Get(jsonflags.StringifyWithLegacySemantics)
|
|
1710
|
-
uo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringifyBoolsAndStrings) {
|
|
1782
|
+
if uo.Flags.Get(jsonflags.StringTag) && uo.Flags.Get(jsonflags.StringifyWithLegacySemantics) {
|
|
1711
1783
|
// A JSON null quoted within a JSON string should take effect
|
|
1712
1784
|
// within the pointer value, rather than the indirect value.
|
|
1713
1785
|
//
|
|
@@ -1737,9 +1809,18 @@ func makeInterfaceArshaler(t reflect.Type) *arshaler {
|
|
|
1737
1809
|
}
|
|
1738
1810
|
}
|
|
1739
1811
|
fncs.marshal = func(enc *jsontext.Encoder, va addressableValue, mo *jsonopts.Struct) error {
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1812
|
+
if mo.Flags.Has(jsonflags.TagFlags) {
|
|
1813
|
+
if mo.Flags.Get(jsonflags.StringTag) {
|
|
1814
|
+
if !mo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1815
|
+
return newMarshalErrorBefore(enc, t, errInvalidStringTag)
|
|
1816
|
+
}
|
|
1817
|
+
if mo.Flags.Get(jsonflags.StringifyWithLegacySemantics) {
|
|
1818
|
+
mo.Flags.Clear(jsonflags.StringTag) // the `string` tag option does not apply to interface types
|
|
1819
|
+
}
|
|
1820
|
+
}
|
|
1821
|
+
if mo.Flags.Has(jsonflags.FormatTag) {
|
|
1822
|
+
return newInvalidFormatError(enc, t)
|
|
1823
|
+
}
|
|
1743
1824
|
}
|
|
1744
1825
|
if va.IsNil() {
|
|
1745
1826
|
return enc.WriteToken(jsontext.Null)
|
|
@@ -1770,16 +1851,25 @@ func makeInterfaceArshaler(t reflect.Type) *arshaler {
|
|
|
1770
1851
|
}
|
|
1771
1852
|
// Optimize for the any type if there are no special options.
|
|
1772
1853
|
if optimizeCommon &&
|
|
1773
|
-
t == anyType && !mo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.
|
|
1854
|
+
t == anyType && !mo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.TagFlags) &&
|
|
1774
1855
|
(mo.Marshalers == nil || !mo.Marshalers.(*Marshalers).fromAny) {
|
|
1775
1856
|
return marshalValueAny(enc, va.Elem().Interface(), mo)
|
|
1776
1857
|
}
|
|
1777
1858
|
return marshal(enc, v, mo)
|
|
1778
1859
|
}
|
|
1779
1860
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1861
|
+
if uo.Flags.Has(jsonflags.TagFlags) {
|
|
1862
|
+
if uo.Flags.Get(jsonflags.StringTag) {
|
|
1863
|
+
if !uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1864
|
+
return newUnmarshalErrorBeforeWithSkipping(dec, t, errInvalidStringTag)
|
|
1865
|
+
}
|
|
1866
|
+
if uo.Flags.Get(jsonflags.StringifyWithLegacySemantics) {
|
|
1867
|
+
uo.Flags.Clear(jsonflags.StringTag) // the `string` tag option does not apply to interface types
|
|
1868
|
+
}
|
|
1869
|
+
}
|
|
1870
|
+
if uo.Flags.Has(jsonflags.FormatTag) {
|
|
1871
|
+
return newInvalidFormatError(dec, t)
|
|
1872
|
+
}
|
|
1783
1873
|
}
|
|
1784
1874
|
if uo.Flags.Get(jsonflags.MergeWithLegacySemantics) && !va.IsNil() {
|
|
1785
1875
|
// Legacy merge behavior is difficult to explain.
|
|
@@ -1815,7 +1905,7 @@ func makeInterfaceArshaler(t reflect.Type) *arshaler {
|
|
|
1815
1905
|
// Duplicate name check must be enforced since unmarshalValueAny
|
|
1816
1906
|
// does not implement merge semantics.
|
|
1817
1907
|
if optimizeCommon &&
|
|
1818
|
-
t == anyType && !uo.Flags.Get(jsonflags.AllowDuplicateNames) &&
|
|
1908
|
+
t == anyType && !uo.Flags.Get(jsonflags.AllowDuplicateNames|jsonflags.FormatTag) &&
|
|
1819
1909
|
(uo.Unmarshalers == nil || !uo.Unmarshalers.(*Unmarshalers).fromAny) {
|
|
1820
1910
|
v, err := unmarshalValueAny(dec, uo)
|
|
1821
1911
|
// We must check for nil interface values up front.
|
|
@@ -1871,7 +1961,7 @@ func makeInterfaceArshaler(t reflect.Type) *arshaler {
|
|
|
1871
1961
|
return &fncs
|
|
1872
1962
|
}
|
|
1873
1963
|
|
|
1874
|
-
// isAnyType reports
|
|
1964
|
+
// isAnyType reports whether t is equivalent to the any interface type.
|
|
1875
1965
|
func isAnyType(t reflect.Type) bool {
|
|
1876
1966
|
// This is forward compatible if the Go language permits type sets within
|
|
1877
1967
|
// ordinary interfaces where an interface with zero methods does not
|
|
@@ -1886,6 +1976,19 @@ func makeInvalidArshaler(t reflect.Type) *arshaler {
|
|
|
1886
1976
|
return newMarshalErrorBefore(enc, t, nil)
|
|
1887
1977
|
}
|
|
1888
1978
|
fncs.unmarshal = func(dec *jsontext.Decoder, va addressableValue, uo *jsonopts.Struct) error {
|
|
1979
|
+
// Under legacy error semantics, unmarshal continues on even with errors.
|
|
1980
|
+
// Thus, always consume the value first.
|
|
1981
|
+
// As a special-case, null is permitted for unsupported types.
|
|
1982
|
+
if uo.Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) {
|
|
1983
|
+
switch val, err := dec.ReadValue(); {
|
|
1984
|
+
case err != nil:
|
|
1985
|
+
return err
|
|
1986
|
+
case val.Kind() == 'n':
|
|
1987
|
+
return nil
|
|
1988
|
+
default:
|
|
1989
|
+
return newUnmarshalErrorAfter(dec, t, nil)
|
|
1990
|
+
}
|
|
1991
|
+
}
|
|
1889
1992
|
return newUnmarshalErrorBefore(dec, t, nil)
|
|
1890
1993
|
}
|
|
1891
1994
|
return &fncs
|