diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java
index 7a43bb0..7c6b36f 100644
--- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java
+++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java
@@ -35818,6 +35818,12 @@
         }
 
         @Test
+        @TestMetadata("compileTimeUnsignedArray.kt")
+        public void testCompileTimeUnsignedArray() throws Exception {
+            runTest("compiler/testData/diagnostics/testsWithStdLib/compileTimeUnsignedArray.kt");
+        }
+
+        @Test
         @TestMetadata("elvisOnJavaList.kt")
         public void testElvisOnJavaList() throws Exception {
             runTest("compiler/testData/diagnostics/testsWithStdLib/elvisOnJavaList.kt");
diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java
index da2b675..068f4f3 100644
--- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java
+++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java
@@ -35818,6 +35818,12 @@
         }
 
         @Test
+        @TestMetadata("compileTimeUnsignedArray.kt")
+        public void testCompileTimeUnsignedArray() throws Exception {
+            runTest("compiler/testData/diagnostics/testsWithStdLib/compileTimeUnsignedArray.kt");
+        }
+
+        @Test
         @TestMetadata("elvisOnJavaList.kt")
         public void testElvisOnJavaList() throws Exception {
             runTest("compiler/testData/diagnostics/testsWithStdLib/elvisOnJavaList.kt");
diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java
index a7b136b..7df67be 100644
--- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java
+++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java
@@ -35914,6 +35914,12 @@
         }
 
         @Test
+        @TestMetadata("compileTimeUnsignedArray.kt")
+        public void testCompileTimeUnsignedArray() throws Exception {
+            runTest("compiler/testData/diagnostics/testsWithStdLib/compileTimeUnsignedArray.kt");
+        }
+
+        @Test
         @TestMetadata("elvisOnJavaList.kt")
         public void testElvisOnJavaList() throws Exception {
             runTest("compiler/testData/diagnostics/testsWithStdLib/elvisOnJavaList.kt");
diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/FirTypeUtils.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/FirTypeUtils.kt
index 55c456d..77897e3 100644
--- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/FirTypeUtils.kt
+++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/FirTypeUtils.kt
@@ -42,8 +42,9 @@
 val FirTypeRef.isEnum: Boolean get() = isBuiltinType(StandardClassIds.Enum, false)
 val FirTypeRef.isArrayType: Boolean
     get() =
-        isBuiltinType(StandardClassIds.Array, false) ||
-                StandardClassIds.primitiveArrayTypeByElementType.values.any { isBuiltinType(it, false) }
+        isBuiltinType(StandardClassIds.Array, false)
+                || StandardClassIds.primitiveArrayTypeByElementType.values.any { isBuiltinType(it, false) }
+                || StandardClassIds.unsignedArrayTypeByElementType.values.any { isBuiltinType(it, false) }
 
 val FirExpression.isNullLiteral: Boolean
     get() = this is FirConstExpression<*> &&
diff --git a/compiler/testData/diagnostics/testsWithStdLib/compileTimeUnsignedArray.kt b/compiler/testData/diagnostics/testsWithStdLib/compileTimeUnsignedArray.kt
new file mode 100644
index 0000000..83d705b
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/compileTimeUnsignedArray.kt
@@ -0,0 +1,22 @@
+// FIR_IDENTICAL
+// ISSUE: KT-57211
+
+@file:OptIn(ExperimentalUnsignedTypes::class)
+
+annotation class Ann(
+    val u: UInt,
+    val uba: UByteArray,
+    val usa: UShortArray,
+    val uia: UIntArray,
+    val ula: ULongArray,
+)
+
+@OptIn(ExperimentalUnsignedTypes::class)
+@Ann(
+    1u,
+    [1u],
+    ushortArrayOf(),
+    [1u, 1u],
+    ulongArrayOf(1u, 1u),
+)
+fun foo() {}
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java
index b6ab1f4..f4da82f 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java
@@ -35914,6 +35914,12 @@
         }
 
         @Test
+        @TestMetadata("compileTimeUnsignedArray.kt")
+        public void testCompileTimeUnsignedArray() throws Exception {
+            runTest("compiler/testData/diagnostics/testsWithStdLib/compileTimeUnsignedArray.kt");
+        }
+
+        @Test
         @TestMetadata("elvisOnJavaList.kt")
         public void testElvisOnJavaList() throws Exception {
             runTest("compiler/testData/diagnostics/testsWithStdLib/elvisOnJavaList.kt");
