Intl Segmenter / RelativeTimeFormat / Collator / Locale / Intl / ListFormat / PluralRules / DisplayNames — mostly arg-validation + supported-locales + Collator collation. Crate: perry-stdlib (intl).
intl402/Collator/ignore-invalid-unicode-ext-values.js Uncaught exception: Locale en-US-u-co-standard is affected by key co; value stan
intl402/Collator/prototype/compare/compare-function-name.js Uncaught exception: name descriptor value should be ; name value should be
intl402/Collator/prototype/compare/length.js TypeError: Cannot convert undefined or null to object
intl402/Collator/prototype/compare/name.js TypeError: Cannot convert undefined or null to object
intl402/Collator/prototype/compare/non-normative-basic.js Uncaught exception: Actual [A, C, E, H, J, L, N, V, X, Z, b, d, f, g, i, k, m, w
intl402/Collator/prototype/compare/non-normative-phonebook.js Uncaught exception: Actual [A, Ab, Af, b, od, off, Ä, ö] and expected [A, Ab, Ä,
intl402/Collator/prototype/compare/non-normative-sensitivity.js Uncaught exception: Actual [Aa] and expected [Aa, aA, áÁ, Aã] should have the sa
intl402/Collator/prototype/compare/prop-desc.js Uncaught exception: Expected SameValue(«"undefined"», «"function"») to be true
intl402/Collator/prototype/resolvedOptions/ignorePunctuation-default.js Uncaught exception: Thai default ignorePunctuation to true Expected SameValue(«f
intl402/Collator/prototype/resolvedOptions/resolved-case-first-unicode-extensions-and-options.js Uncaught exception: Resolved locale for locale=en-u-kf-lower with caseFirst=uppe
intl402/Collator/prototype/resolvedOptions/resolved-collation-unicode-extensions-and-options.js Uncaught exception: Resolved collation for locale=de-u-co-phonebk with collation
intl402/Collator/prototype/resolvedOptions/resolved-numeric-unicode-extensions-and-options.js Uncaught exception: Resolved locale for locale=en-u-kn-false with numeric=true E
intl402/Collator/unicode-ext-seq-with-attribute.js Uncaught exception: Expected SameValue(«"de-u-co-phonebk"», «"de-u-attrval-co-ph
intl402/Collator/unicode-ext-value-collation.js Uncaught exception: Collation for "invalid" should be default, but is invalid. E
intl402/Collator/usage-de.js Uncaught exception: Actual [AE, Ä] and expected [Ä, AE] should have the same con
intl402/DisplayNames/locales-symbol-length.js Uncaught exception: Actual [] and expected [length, 0] should have the same cont
intl402/DisplayNames/options-fallback-valid.js Uncaught exception: instanceof check - undefined
intl402/DisplayNames/options-languagedisplay-valid.js Uncaught exception: instanceof check - undefined
intl402/DisplayNames/options-localeMatcher-valid.js Uncaught exception: instanceof check - undefined
intl402/DisplayNames/options-random-properties-unchecked.js Uncaught exception: Expected true but got false
intl402/DisplayNames/options-style-valid.js Uncaught exception: instanceof check - undefined
intl402/DisplayNames/options-type-valid.js Uncaught exception: instanceof check - language
intl402/Intl/getCanonicalLocales/canonicalized-tags.js Uncaught exception: Expected SameValue(«"cmn"», «"zh"») to be true
intl402/Intl/getCanonicalLocales/complex-language-subtag-replacement.js Uncaught exception: Expected SameValue(«"sh"», «"sr-Latn"») to be true
intl402/Intl/getCanonicalLocales/complex-region-subtag-replacement.js Uncaught exception: Expected SameValue(«"ru-SU"», «"ru-RU"») to be true
intl402/Intl/getCanonicalLocales/grandfathered.js Uncaught exception: Expected SameValue(«"art-lojban"», «"jbo"») to be true
intl402/Intl/getCanonicalLocales/has-property.js (no output)
intl402/Intl/getCanonicalLocales/locales-is-not-a-string.js Uncaught exception: Actual [] and expected [en-US] should have the same contents
intl402/Intl/getCanonicalLocales/non-iana-canon.js Uncaught exception: The value of Intl.getCanonicalLocales(tag)[0] equals the val
intl402/Intl/getCanonicalLocales/overriden-arg-length.js Uncaught exception: Actual [] and expected [en-US] should have the same contents
intl402/Intl/getCanonicalLocales/preferred-grandfathered.js Uncaught exception: Expected SameValue(«"art-lojban"», «"jbo"») to be true
intl402/Intl/getCanonicalLocales/preferred-variant.js Uncaught exception: Expected SameValue(«"ja-Latn-hepburn-heploc"», «"ja-Latn-ala
intl402/Intl/getCanonicalLocales/returned-object-is-mutable.js (no output)
intl402/Intl/getCanonicalLocales/transformed-ext-canonical.js Uncaught exception: Expected SameValue(«"en-t-iw"», «"en-t-he"») to be true
intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-calendar.js Uncaught exception: Expected SameValue(«"und-u-ca-ethiopic-amete-alem"», «"und-u
intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-col-strength.js Uncaught exception: Expected SameValue(«"und-u-ks-primary"», «"und-u-ks-level1"»
intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-measurement-system.js Uncaught exception: Expected SameValue(«"und-u-ms-imperial"», «"und-u-ms-uksyste
intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-region.js Uncaught exception: Expected SameValue(«"und-u-rg-no23"», «"und-u-rg-no50"») to
intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-subdivision.js Uncaught exception: Expected SameValue(«"und-NO-u-sd-no23"», «"und-NO-u-sd-no50"
intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-timezone.js Uncaught exception: Expected SameValue(«"und-u-tz-cnckg"», «"und-u-tz-cnsha"») t
intl402/ListFormat/constructor/constructor/subclassing.js TypeError: Constructor Intl.ListFormat requires 'new'
intl402/ListFormat/constructor/supportedLocalesOf/options-toobject.js Uncaught exception: Expected one call from true Expected SameValue(«0», «1») to
intl402/ListFormat/prototype/format/es-es-long.js Uncaught exception: Expected SameValue(«"foo, bar"», «"foo y bar"») to be true
intl402/ListFormat/prototype/format/es-es-short.js Uncaught exception: Expected SameValue(«"foo, bar"», «"foo y bar"») to be true
intl402/ListFormat/prototype/format/iterable-invalid.js Uncaught exception: Expected SameValue(«5», «3») to be true
intl402/ListFormat/prototype/format/iterable-iteratorclose.js Uncaught exception: Expected SameValue(«5», «3») to be true
intl402/ListFormat/prototype/formatToParts/es-es-long.js Uncaught exception: undefined: parts[1].value Expected SameValue(«", "», «" y "»
intl402/ListFormat/prototype/formatToParts/es-es-short.js Uncaught exception: undefined: parts[1].value Expected SameValue(«", "», «" y "»
intl402/ListFormat/prototype/formatToParts/iterable-invalid.js Uncaught exception: Expected SameValue(«5», «3») to be true
intl402/ListFormat/prototype/formatToParts/iterable-iteratorclose.js Uncaught exception: Expected SameValue(«5», «3») to be true
intl402/Locale/canonicalize-locale-list-take-locale.js TypeError: Constructor Intl.Locale requires 'new'
intl402/Locale/constructor-apply-options-canonicalizes-twice.js Uncaught exception: Expected SameValue(«"ru-Armn-SU"», «"ru-Armn-AM"») to be tru
intl402/Locale/constructor-non-iana-canon.js Uncaught exception: new Intl.Locale("aar-x-private").maximize().toString() retur
intl402/Locale/constructor-options-region-valid.js Uncaught exception: new Intl.Locale('en', {region: "554"}).toString() returns "e
intl402/Locale/constructor-tag.js Uncaught exception: new Intl.Locale("en-a-bar-u-baz-x-u-foo").toString() returns
intl402/Locale/extensions-grandfathered.js Uncaught exception: Expected SameValue(«"fr-Cyrl-FR-gaulish-u-nu-latn"», «"fr-Cy
intl402/Locale/likely-subtags-grandfathered.js Uncaught exception: Expected SameValue(«"art-lojban"», «"jbo"») to be true
intl402/Locale/likely-subtags.js Uncaught exception: "en-Shaw".maximize() should be "en-Shaw-GB" Expected SameVal
intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js Uncaught exception: "und-419".minimize() should be "es-419" Expected SameValue(«
intl402/Locale/reject-duplicate-variants-in-tlang.js Uncaught exception: tag "de-t-en-emodeng-emodeng" must be considered structurall
intl402/Locale/subclassing.js TypeError: Constructor Intl.Locale requires 'new'
intl402/PluralRules/can-be-subclassed.js TypeError: Constructor Intl.PluralRules requires 'new'
intl402/PluralRules/constructor-option-read-order.js (no output)
intl402/PluralRules/prototype/resolvedOptions/plural-categories-order.js Uncaught exception: Actual [one, other] and expected [zero, one, two, few, many,
intl402/PluralRules/prototype/select/notation.js Uncaught exception: standard notation: 1000000 Expected SameValue(«"other"», «"m
intl402/PluralRules/prototype/selectRange/invoked-as-func.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
intl402/RelativeTimeFormat/constructor/constructor/options-toobject-prototype.js Uncaught exception: options argument true should yield the correct value for "st
intl402/RelativeTimeFormat/constructor/constructor/subclassing.js TypeError: Constructor Intl.RelativeTimeFormat requires 'new'
intl402/RelativeTimeFormat/constructor/supportedLocalesOf/options-toobject.js Uncaught exception: Expected one call from true Expected SameValue(«0», «1») to
intl402/RelativeTimeFormat/prototype/format/en-us-numbering-systems.js Uncaught exception: locale: en-US-u-nu-arab Expected SameValue(«false», «true»)
intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js Uncaught exception: Expected SameValue(«"in 0 seconds"», «"now"») to be true
intl402/RelativeTimeFormat/prototype/format/en-us-style-short.js Uncaught exception: Expected SameValue(«"in 1,000 seconds"», «"in 1,000 sec."»)
intl402/RelativeTimeFormat/prototype/format/pl-pl-style-long.js Uncaught exception: Expected SameValue(«"in 1,000 seconds"», «"za 1000 sekund"»)
intl402/RelativeTimeFormat/prototype/format/pl-pl-style-narrow.js Uncaught exception: Expected SameValue(«"in 1,000 seconds"», «"za 1000 s"») to b
intl402/RelativeTimeFormat/prototype/format/pl-pl-style-short.js Uncaught exception: Expected SameValue(«"in 1,000 seconds"», «"za 1000 sek."») t
intl402/RelativeTimeFormat/prototype/format/unit-invalid.js Uncaught exception: symbol Expected a TypeError but got a RangeError
intl402/RelativeTimeFormat/prototype/formatToParts/en-us-numeric-auto.js Uncaught exception: formatToParts(0, second): length Expected SameValue(«3», «1»
intl402/RelativeTimeFormat/prototype/formatToParts/en-us-style-short.js Uncaught exception: formatToParts(1000, second): parts[4].value Expected SameVal
intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-long.js Uncaught exception: formatToParts(1000, second): length Expected SameValue(«5»,
intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-narrow.js Uncaught exception: formatToParts(1000, second): length Expected SameValue(«5»,
intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-short.js Uncaught exception: formatToParts(1000, second): length Expected SameValue(«5»,
intl402/RelativeTimeFormat/prototype/formatToParts/unit-invalid.js Uncaught exception: symbol Expected a TypeError but got a RangeError
intl402/RelativeTimeFormat/prototype/resolvedOptions/resolved-numbering-system-unicode-extensions-and-options.js Uncaught exception: Resolved numberingSystem for locale=en-u-nu-arab with number
intl402/Segmenter/constructor/constructor/options-localeMatcher-valid.js Uncaught exception: instanceof check - undefined
intl402/Segmenter/constructor/constructor/subclassing.js TypeError: Constructor Intl.Segmenter requires 'new'
intl402/Segmenter/constructor/supportedLocalesOf/options-toobject.js Uncaught exception: Expected one call from true Expected SameValue(«0», «1») to
intl402/Segmenter/prototype/segment/containing/branding.js Uncaught exception: Expected SameValue(«"undefined"», «"function"») to be true
intl402/Segmenter/prototype/segment/containing/breakable-input.js Uncaught exception: granularity: undefined input: 123 containing(0) index Expec
intl402/Segmenter/prototype/segment/containing/index-throws.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
intl402/Segmenter/prototype/segment/containing/iswordlike.js Uncaught exception: granularity: undefined input: Hello world! containing(0) ind
intl402/Segmenter/prototype/segment/containing/length.js TypeError: Cannot convert undefined or null to object
intl402/Segmenter/prototype/segment/containing/name.js TypeError: Cannot convert undefined or null to object
intl402/Segmenter/prototype/segment/containing/one-index.js Uncaught exception: granularity: undefined index: 1 index Expected SameValue(«1»
intl402/Segmenter/prototype/segment/containing/out-of-bound-index.js Uncaught exception: Expected SameValue(«undefined», «[object Object]») to be tru
intl402/Segmenter/prototype/segment/containing/prop-desc.js Uncaught exception: typeof %Segments.prototype%.containing is function Expected
intl402/Segmenter/prototype/segment/containing/unbreakable-input.js TypeError: containing is not a function
intl402/Segmenter/prototype/segment/containing/word-iswordlike.js Uncaught exception: granularity: word input: Hello world! containing(0) index >=
intl402/Segmenter/prototype/segment/containing/zero-index.js Uncaught exception: Expected SameValue(«0», «undefined») to be true
intl402/Segmenter/prototype/segment/name_of_symbol_iterator.js Uncaught exception: Expected SameValue(«"[Symbol.iterator]"», «"values"») to be
intl402/Segmenter/prototype/segment/next-mix-with-containing.js Uncaught exception: containing(0) before the loop. segment Expected SameValue(«"
intl402/Segmenter/prototype/segment/segment-tostring.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
Self-contained worklist — 101 failing. Snapshot 2026-07-03 full sweep (perry 0.5.1218, node v26.3.0). Everything you need is in this issue; no history to read, no re-measure to start.
Intl Segmenter / RelativeTimeFormat / Collator / Locale / Intl / ListFormat / PluralRules / DisplayNames — mostly arg-validation + supported-locales + Collator collation. Crate: perry-stdlib (intl).
Setup (any box)
Measure/verify:
scripts/test262_subset.py --root vendor/test262 --dir intl402/Segmenter intl402/RelativeTimeFormat intl402/Collator intl402/Locale intl402/Intl intl402/ListFormat intl402/PluralRules intl402/DisplayNames --jobs 8(the.failures.txtsidecar lists failures; diff before/after for zero-regression).Failure reasons
All 101 failing cases (path — reason)
Workflow
Pick a coherent single-root subcluster, localize (
cargo run --release -- f.ts --trace hir --focus <fn>/--trace llvm), fix, verify listed cases pass AND re-run the slice for zero regressions. Code-only PR (no Cargo.toml/Cargo.lock version bump, no CLAUDE.md Current-Version, no CHANGELOG — maintainer folds metadata).cargo fmt --all -- --check+bash scripts/check_file_size.shmust pass (files < 2000 lines). Reference this issue. Never reference internal infrastructure hostnames.