diff --git a/src/tint/lang/msl/writer/ast_printer/ast_printer.cc b/src/tint/lang/msl/writer/ast_printer/ast_printer.cc
index e474114..9296b43 100644
--- a/src/tint/lang/msl/writer/ast_printer/ast_printer.cc
+++ b/src/tint/lang/msl/writer/ast_printer/ast_printer.cc
@@ -271,9 +271,8 @@
         return result;
     }
     if (auto* res = outputs.Get<ast::transform::ArrayLengthFromUniform::Result>()) {
-        result.used_array_length_from_uniform_indices = std::move(res->used_size_indices);
+        result.needs_storage_buffer_sizes = !res->used_size_indices.empty();
     }
-    result.needs_storage_buffer_sizes = !result.used_array_length_from_uniform_indices.empty();
     return result;
 }
 
diff --git a/src/tint/lang/msl/writer/ast_printer/ast_printer.h b/src/tint/lang/msl/writer/ast_printer/ast_printer.h
index f86bb39..8004d61 100644
--- a/src/tint/lang/msl/writer/ast_printer/ast_printer.h
+++ b/src/tint/lang/msl/writer/ast_printer/ast_printer.h
@@ -79,9 +79,6 @@
     Program program;
     /// True if the shader needs a UBO of buffer sizes.
     bool needs_storage_buffer_sizes = false;
-    /// Indices into the array_length_from_uniform binding that are statically
-    /// used.
-    std::unordered_set<uint32_t> used_array_length_from_uniform_indices;
 };
 
 /// Sanitize a program in preparation for generating MSL.
diff --git a/src/tint/lang/msl/writer/output.h b/src/tint/lang/msl/writer/output.h
index 219e2a6..edcd2b2d 100644
--- a/src/tint/lang/msl/writer/output.h
+++ b/src/tint/lang/msl/writer/output.h
@@ -64,10 +64,6 @@
     /// Each entry in the vector is the size of the workgroup allocation that
     /// should be created for that index.
     std::unordered_map<std::string, std::vector<uint32_t>> workgroup_allocations;
-
-    /// Indices into the array_length_from_uniform binding that are statically
-    /// used.
-    std::unordered_set<uint32_t> used_array_length_from_uniform_indices;
 };
 
 }  // namespace tint::msl::writer
diff --git a/src/tint/lang/msl/writer/writer.cc b/src/tint/lang/msl/writer/writer.cc
index 6d05098..d964460 100644
--- a/src/tint/lang/msl/writer/writer.cc
+++ b/src/tint/lang/msl/writer/writer.cc
@@ -62,7 +62,6 @@
     output.workgroup_allocations = std::move(result->workgroup_allocations);
     output.needs_storage_buffer_sizes = raise_result->needs_storage_buffer_sizes;
     output.has_invariant_attribute = result->has_invariant_attribute;
-    // TODO(crbug.com/42251016): Set used_array_length_from_uniform_indices.
     return output;
 }
 
@@ -86,8 +85,6 @@
         return Failure{sanitized_result.program.Diagnostics()};
     }
     output.needs_storage_buffer_sizes = sanitized_result.needs_storage_buffer_sizes;
-    output.used_array_length_from_uniform_indices =
-        std::move(sanitized_result.used_array_length_from_uniform_indices);
 
     // Generate the MSL code.
     auto impl = std::make_unique<ASTPrinter>(sanitized_result.program);
