@@ -357,6 +357,8 @@ export interface LowerOptions {
357357 nativeStringSubstr ?: boolean ;
358358 /** Rust can concatenate a checked-dynamic spread argument vector. */
359359 nativeStringConcatDyn ?: boolean ;
360+ /** Rust provides Unicode String.prototype.normalize. */
361+ nativeStringNormalize ?: boolean ;
360362 /** --dynamic: the island engine is linked, so island constructs
361363 * (__island_eval) may lower. Off by default — without it they produce a
362364 * requires-dynamic diagnostic instead. */
@@ -459,6 +461,8 @@ export interface LowererMode {
459461 nativeStringSubstr ?: boolean ;
460462 /** Rust can concatenate a checked-dynamic spread argument vector. */
461463 nativeStringConcatDyn ?: boolean ;
464+ /** Rust provides Unicode String.prototype.normalize. */
465+ nativeStringNormalize ?: boolean ;
462466 /** Names of bodies a prior reachability pass reached; null lowers everything. */
463467 reachable ?: ReadonlySet < string > | null ;
464468 /** Coverage remainder: lower ONLY bodies outside `reachable`, skip the
@@ -572,6 +576,7 @@ export function lowerToIr(
572576 nativeDynamicSets : options . nativeDynamicSets ?? false ,
573577 nativeStringSubstr : options . nativeStringSubstr ?? false ,
574578 nativeStringConcatDyn : options . nativeStringConcatDyn ?? false ,
579+ nativeStringNormalize : options . nativeStringNormalize ?? false ,
575580 targetPlatform,
576581 startupCrash,
577582 ffiImports,
@@ -598,6 +603,7 @@ export function lowerToIr(
598603 nativeDynamicSets : options . nativeDynamicSets ?? false ,
599604 nativeStringSubstr : options . nativeStringSubstr ?? false ,
600605 nativeStringConcatDyn : options . nativeStringConcatDyn ?? false ,
606+ nativeStringNormalize : options . nativeStringNormalize ?? false ,
601607 targetPlatform,
602608 startupCrash,
603609 ffiImports,
@@ -632,6 +638,7 @@ export function lowerToIr(
632638 nativeDynamicSets : options . nativeDynamicSets ?? false ,
633639 nativeStringSubstr : options . nativeStringSubstr ?? false ,
634640 nativeStringConcatDyn : options . nativeStringConcatDyn ?? false ,
641+ nativeStringNormalize : options . nativeStringNormalize ?? false ,
635642 targetPlatform,
636643 startupCrash,
637644 ffiImports,
@@ -660,6 +667,7 @@ export function lowerToIr(
660667 nativeDynamicSets : options . nativeDynamicSets ?? false ,
661668 nativeStringSubstr : options . nativeStringSubstr ?? false ,
662669 nativeStringConcatDyn : options . nativeStringConcatDyn ?? false ,
670+ nativeStringNormalize : options . nativeStringNormalize ?? false ,
663671 targetPlatform,
664672 ffiImports,
665673 libraryCallbacks,
@@ -1077,6 +1085,7 @@ export class Lowerer {
10771085 readonly nativeDynamicSets : boolean ;
10781086 readonly nativeStringSubstr : boolean ;
10791087 readonly nativeStringConcatDyn : boolean ;
1088+ readonly nativeStringNormalize : boolean ;
10801089 readonly checker : ts . TypeChecker ;
10811090 readonly diags : ScrDiagnostic [ ] = [ ] ;
10821091 readonly fnSigsBySymbol = new Map < ts . Symbol , FnSig > ( ) ;
@@ -1848,6 +1857,7 @@ export class Lowerer {
18481857 this . nativeDynamicSets = mode . nativeDynamicSets ?? false ;
18491858 this . nativeStringSubstr = mode . nativeStringSubstr ?? false ;
18501859 this . nativeStringConcatDyn = mode . nativeStringConcatDyn ?? false ;
1860+ this . nativeStringNormalize = mode . nativeStringNormalize ?? false ;
18511861 this . reachable = mode . reachable ?? null ;
18521862 this . remainder = mode . remainder ?? false ;
18531863 this . alreadyFlushed = mode . alreadyFlushed ?? new Set ( ) ;
0 commit comments