diff --git a/src/gn/starlark/Cargo.lock b/src/gn/starlark/Cargo.lock
index 7095a02..8d80e3f 100644
--- a/src/gn/starlark/Cargo.lock
+++ b/src/gn/starlark/Cargo.lock
@@ -24,7 +24,7 @@
 [[package]]
 name = "allocative"
 version = "0.3.6"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "allocative_derive",
  "bumpalo",
@@ -37,7 +37,7 @@
 [[package]]
 name = "allocative_derive"
 version = "0.3.6"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -67,9 +67,9 @@
 
 [[package]]
 name = "anyhow"
-version = "1.0.103"
+version = "1.0.104"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3"
+checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
 
 [[package]]
 name = "args"
@@ -99,13 +99,13 @@
 
 [[package]]
 name = "async-trait"
-version = "0.1.89"
+version = "0.1.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
+checksum = "ae36dc4177970ef04fde5178d3e2429882def40e57a451f919c098f72baa6cec"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.119",
+ "syn 3.0.3",
 ]
 
 [[package]]
@@ -207,9 +207,9 @@
 
 [[package]]
 name = "bytemuck"
-version = "1.25.1"
+version = "1.25.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6aedf8ae72766347502cf3cb4f41cf5e9cc37d28bee90f1fdaaae15f9cf9424"
+checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797"
 dependencies = [
  "bytemuck_derive",
 ]
@@ -233,9 +233,9 @@
 
 [[package]]
 name = "cc"
-version = "1.2.67"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e17dd265a7d0f31ef544e1b20e03add05d3b45b491b633b10d67145d2acc1a38"
+checksum = "c89588d05638b5b4594a3348a2d6c20277e43a7f5c5202b05cc56888475a47b8"
 dependencies = [
  "find-msvc-tools",
  "shlex",
@@ -255,9 +255,9 @@
 
 [[package]]
 name = "clap"
-version = "4.6.2"
+version = "4.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd059f9da4f5c36b3787f65d38ccaab1cc315f07b01f89abc8359ee6a8205011"
+checksum = "d91e0c145792ef73a6ad36d27c75ac09f1832222a3c209689d90f534685ee5b7"
 dependencies = [
  "clap_builder",
 ]
@@ -291,7 +291,7 @@
 [[package]]
 name = "cmp_any"
 version = "0.8.1"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 
 [[package]]
 name = "cobs"
@@ -386,9 +386,9 @@
 
 [[package]]
 name = "ctor"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a394189d59f9befacce833f337f7b1eca5e9a91221bcdd4d28e0114d96e597b3"
+checksum = "e2e30e509674ef0ec91e21a7735766db37d163d46151b6a361d8b83dd79116bd"
 dependencies = [
  "link-section",
  "linktime-proc-macro",
@@ -535,7 +535,7 @@
 [[package]]
 name = "display_container"
 version = "0.9.0"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "either",
  "indenter",
@@ -544,7 +544,7 @@
 [[package]]
 name = "dupe"
 version = "0.9.1"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "dupe_derive",
 ]
@@ -552,7 +552,7 @@
 [[package]]
 name = "dupe_derive"
 version = "0.9.1"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -851,9 +851,9 @@
 
 [[package]]
 name = "libc"
-version = "0.2.186"
+version = "0.2.189"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
+checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
 
 [[package]]
 name = "link-cplusplus"
@@ -866,9 +866,9 @@
 
 [[package]]
 name = "link-section"
-version = "0.19.0"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e333fe507b738576d6da5bb3f1a7d7a1c80307ed9ef31624c057d844c19c93e9"
+checksum = "8dc98458dfe90986c5e2f6ddcf68360c7e5c4252600153e06aa4ee8176c0f8d1"
 
 [[package]]
 name = "linktime-proc-macro"
@@ -1038,7 +1038,7 @@
 [[package]]
 name = "pagable"
 version = "0.4.1"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "allocative",
  "anyhow",
@@ -1074,7 +1074,7 @@
 [[package]]
 name = "pagable_derive"
 version = "0.4.1"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1126,9 +1126,9 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.106"
+version = "1.0.107"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
+checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
 dependencies = [
  "unicode-ident",
 ]
@@ -1159,9 +1159,9 @@
 
 [[package]]
 name = "quote"
-version = "1.0.46"
+version = "1.0.47"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
+checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
 dependencies = [
  "proc-macro2",
 ]
@@ -1219,22 +1219,22 @@
 
 [[package]]
 name = "ref-cast"
-version = "1.0.25"
+version = "1.0.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d"
+checksum = "216e8f773d7923bcba9ceb86a86c93cabb3903a11872fc3f138c49630e50b96d"
 dependencies = [
  "ref-cast-impl",
 ]
 
 [[package]]
 name = "ref-cast-impl"
-version = "1.0.25"
+version = "1.0.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
+checksum = "2c9283685feec7d69af75fb0e858d5e7378f33fe4fc699383b2916ab9273e03c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.119",
+ "syn 3.0.3",
 ]
 
 [[package]]
@@ -1384,9 +1384,9 @@
 
 [[package]]
 name = "serde"
-version = "1.0.228"
+version = "1.0.229"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
+checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
 dependencies = [
  "serde_core",
  "serde_derive",
@@ -1394,29 +1394,29 @@
 
 [[package]]
 name = "serde_core"
-version = "1.0.228"
+version = "1.0.229"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
+checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.228"
+version = "1.0.229"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
+checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.119",
+ "syn 3.0.3",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.150"
+version = "1.0.151"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
+checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
 dependencies = [
  "itoa",
  "memchr",
@@ -1427,13 +1427,13 @@
 
 [[package]]
 name = "serde_repr"
-version = "0.1.20"
+version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
+checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.119",
+ "syn 3.0.3",
 ]
 
 [[package]]
@@ -1476,7 +1476,7 @@
 [[package]]
 name = "starlark"
 version = "0.14.2"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "allocative",
  "anyhow",
@@ -1519,7 +1519,7 @@
 [[package]]
 name = "starlark_derive"
 version = "0.14.2"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "dupe",
  "proc-macro2",
@@ -1530,7 +1530,7 @@
 [[package]]
 name = "starlark_map"
 version = "0.14.2"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "allocative",
  "dupe",
@@ -1545,7 +1545,7 @@
 [[package]]
 name = "starlark_syntax"
 version = "0.14.2"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "allocative",
  "annotate-snippets",
@@ -1583,7 +1583,7 @@
 [[package]]
 name = "strong_hash"
 version = "0.1.0"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "ref-cast",
  "strong_hash_derive",
@@ -1592,7 +1592,7 @@
 [[package]]
 name = "strong_hash_derive"
 version = "0.1.0"
-source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#426a43164741eec393f074c1670c985491561ff7"
+source = "git+https://github.com/matts1/starlark-rust.git?branch=gn_starlark#61ec3746b536d7f7824dd56b7f4cbd2e2d99d77d"
 dependencies = [
  "quote",
  "syn 2.0.119",
@@ -1655,6 +1655,17 @@
 ]
 
 [[package]]
+name = "syn"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
 name = "take_mut"
 version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1691,22 +1702,22 @@
 
 [[package]]
 name = "thiserror"
-version = "2.0.18"
+version = "2.0.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
+checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "2.0.18"
+version = "2.0.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
+checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.119",
+ "syn 3.0.3",
 ]
 
 [[package]]
diff --git a/src/gn/starlark/crates/providers/src/errors.rs b/src/gn/starlark/crates/providers/src/errors.rs
index 4f5cf04..0de8529 100644
--- a/src/gn/starlark/crates/providers/src/errors.rs
+++ b/src/gn/starlark/crates/providers/src/errors.rs
@@ -19,6 +19,12 @@
     ProviderNotFrozen,
 }
 
+impl From<Error> for starlark::values::FreezeError {
+    fn from(err: Error) -> Self {
+        Self::new(err.to_string())
+    }
+}
+
 impl From<Error> for starlark::Error {
     fn from(err: Error) -> Self {
         Self::new_other(err)
diff --git a/src/gn/starlark/crates/providers/src/provider_instance.rs b/src/gn/starlark/crates/providers/src/provider_instance.rs
index 54e8284..6ca3192 100644
--- a/src/gn/starlark/crates/providers/src/provider_instance.rs
+++ b/src/gn/starlark/crates/providers/src/provider_instance.rs
@@ -11,7 +11,8 @@
     collections::{Hashed, StarlarkHasher},
     starlark_complex_value,
     values::{
-        Freeze, FrozenValueTyped, Heap, StarlarkValue, Trace, Value, ValueLifetimeless, ValueLike,
+        Freeze, FreezeResult, Freezer, Heap, StarlarkValue, Trace, Value, ValueLifetimeless,
+        ValueLike,
     },
 };
 use starlark_derive::{starlark_value, NoSerialize};
@@ -19,22 +20,39 @@
 use crate::provider_type::FrozenProviderType;
 
 /// Represents an instance of a provider.
-#[derive(Clone, Trace, Coerce, Freeze, ProvidesStaticType, Allocative, NoSerialize)]
+#[derive(Clone, Trace, Coerce, ProvidesStaticType, Allocative, NoSerialize)]
 #[repr(C)]
 pub struct ProviderInstanceGen<V: ValueLifetimeless> {
-    pub(crate) provider_type: FrozenValueTyped<'static, FrozenProviderType>,
+    pub(crate) provider_type: &'static FrozenProviderType,
     pub(crate) values: Box<[Option<V>]>,
 }
 
+impl<V: ValueLifetimeless + Freeze> Freeze for ProviderInstanceGen<V>
+where
+    V::Frozen: ValueLifetimeless,
+{
+    type Frozen = ProviderInstanceGen<V::Frozen>;
+
+    fn freeze(self, freezer: &Freezer) -> FreezeResult<Self::Frozen> {
+        Ok(ProviderInstanceGen {
+            provider_type: self.provider_type,
+            values: self
+                .values
+                .into_vec()
+                .into_iter()
+                .map(|v| v.freeze(freezer))
+                .collect::<Result<Vec<_>, _>>()?
+                .into_boxed_slice(),
+        })
+    }
+}
+
 starlark_complex_value!(pub ProviderInstance);
 
 impl<'v, V: ValueLike<'v>> ProviderInstanceGen<V>
 where
     Self: ProvidesStaticType<'v>,
 {
-    pub(crate) fn ty(&self) -> &'v FrozenProviderType {
-        self.provider_type.as_ref()
-    }
 
     pub(crate) fn ty_name(&self) -> &'static str {
         self.get_type_value_dyn().as_str()
@@ -44,7 +62,7 @@
     where
         'v: 'a,
     {
-        let fields = &self.ty().fields;
+        let fields = &self.provider_type.fields;
         fields
             .iter()
             .filter_map(move |(name, &idx)| self.values[idx].map(|val| (name.as_str(), val)))
@@ -93,15 +111,14 @@
     type Canonical = FrozenProviderInstance;
 
     fn get_type_value_dyn(&self) -> starlark::values::FrozenStringValue {
-        // Safety: ProviderInstance is only constructed when the provider is exported.
-        unsafe { self.ty().data.as_ref().unwrap_unchecked().name }
+        self.provider_type.data.name
     }
 
     fn equals(&self, other: Value<'v>) -> starlark::Result<bool> {
         let Some(other) = ProviderInstance::from_value(other) else {
             return Ok(false);
         };
-        if self.ty().id != other.ty().id {
+        if self.provider_type.id != other.provider_type.id {
             return Ok(false);
         }
         for (v1, v2) in self.values.iter().zip(other.values.iter()) {
@@ -132,7 +149,7 @@
     }
 
     fn get_attr_hashed(&self, attribute: Hashed<&str>, _heap: Heap<'v>) -> Option<Value<'v>> {
-        let &i = self.ty().fields.get_hashed(attribute)?;
+        let &i = self.provider_type.fields.get_hashed(attribute)?;
         self.values[i].map(|v| v.to_value())
     }
 
@@ -149,7 +166,7 @@
     }
 
     fn dir_attr(&self) -> Vec<String> {
-        let fields = &self.ty().fields;
+        let fields = &self.provider_type.fields;
         fields
             .iter()
             .filter_map(|(name, &idx)| {
diff --git a/src/gn/starlark/crates/providers/src/provider_type.rs b/src/gn/starlark/crates/providers/src/provider_type.rs
index 24c7569..499afa5 100644
--- a/src/gn/starlark/crates/providers/src/provider_type.rs
+++ b/src/gn/starlark/crates/providers/src/provider_type.rs
@@ -51,7 +51,7 @@
     /// The unique type identifier.
     pub(crate) id: TypeInstanceId,
     /// The configured provider fields.
-    pub(crate) data: Option<ProviderTypeData>,
+    pub(crate) data: ProviderTypeData,
     /// A mapping from field name to index.
     /// This is akin to python's `__slots__`.
     pub(crate) fields: SmallMap<String, usize>,
@@ -122,17 +122,17 @@
     ) -> starlark::Result<Value<'v>> {
         // Safety: `me` is the receiver of type `FrozenProviderType`, which is
         // guaranteed to be frozen.
-        let provider_type =
+        let provider_type: FrozenValueTyped<'static, Self> =
             unsafe { FrozenValueTyped::new_unchecked(me.unpack_frozen().unwrap_unchecked()) };
 
-        let data = self.data.as_ref().ok_or(Error::ProviderNotExported)?;
+        let data = &self.data;
         data.parameter_spec
             .parser(args, eval, |param_parser, eval| {
                 let values: Box<[Option<Value<'v>>]> = (0..self.fields.len())
                     .map(|_| param_parser.next_opt::<Value<'v>>())
                     .collect::<starlark::Result<_>>()?;
                 Ok(eval.heap().alloc_complex(ProviderInstance {
-                    provider_type,
+                    provider_type: provider_type.as_ref(),
                     values,
                 }))
             })
@@ -161,9 +161,13 @@
     type Frozen = FrozenProviderType;
 
     fn freeze(self, _freezer: &Freezer) -> FreezeResult<Self::Frozen> {
+        let data = self
+            .data
+            .into_inner()
+            .ok_or(Error::ProviderNotExported)?;
         Ok(FrozenProviderType {
             id: self.id,
-            data: self.data.into_inner(),
+            data,
             fields: self.fields,
         })
     }
@@ -235,13 +239,8 @@
     #[test]
     fn test_unexported_provider_fails_to_call() {
         let mut a = new_assert();
-        let unexported = a.pass("x = [provider(fields=['a'])]; x");
-        a.modify_globals(move |builder| {
-            builder.set("x", unexported.clone());
-        });
-
-        a.fail(
-            "MyInfo = x[0]; MyInfo()",
+        a.fail_to_freeze(
+            "x = [provider(fields=['a'])]; x",
             "The result of provider() must be assigned to a variable",
         );
     }
diff --git a/src/gn/starlark/crates/testutils/src/assert.rs b/src/gn/starlark/crates/testutils/src/assert.rs
index cba6904..d10726a 100644
--- a/src/gn/starlark/crates/testutils/src/assert.rs
+++ b/src/gn/starlark/crates/testutils/src/assert.rs
@@ -110,6 +110,13 @@
         self.assert.pass(code)
     }
 
+    /// Asserts that freezing the evaluated module fails with the expected
+    /// error.
+    #[track_caller]
+    pub fn fail_to_freeze(&mut self, code: &str, expected_error: &str) -> starlark::Error {
+        self.assert.fail_to_freeze(code, expected_error)
+    }
+
     /// Asserts that the code fails to evaluate with the expected error.
     #[track_caller]
     pub fn fail(&mut self, code: &str, expected_error: &str) -> starlark::Error {
