Merge commit '6028f34820642d2483ed5afe91c05c36f952282e' into dev-release
diff --git a/src/main/java/com/android/tools/r8/ir/analysis/type/ArrayTypeElement.java b/src/main/java/com/android/tools/r8/ir/analysis/type/ArrayTypeElement.java
index c283797..549bbf2 100644
--- a/src/main/java/com/android/tools/r8/ir/analysis/type/ArrayTypeElement.java
+++ b/src/main/java/com/android/tools/r8/ir/analysis/type/ArrayTypeElement.java
@@ -28,6 +28,7 @@
       Nullability nullability,
       NullabilityVariants<ArrayTypeElement> variants) {
     super(nullability);
+    assert memberTypeLattice.isPrimitiveType() || memberTypeLattice.nullability().isMaybeNull();
     this.memberTypeLattice = memberTypeLattice;
     this.variants = variants;
   }
@@ -190,7 +191,7 @@
               aMemberMember,
               bMemberMember,
               appView,
-              aMemberMember.nullability().join(bMemberMember.nullability()));
+              aMember.nullability().join(bMember.nullability()));
       return join == null ? null : ArrayTypeElement.create(join, nullability);
     }
     if (aMember.isClassType() && bMember.isClassType()) {
diff --git a/src/test/java/com/android/tools/r8/ir/analysis/type/TypeLatticeTest.java b/src/test/java/com/android/tools/r8/ir/analysis/type/TypeLatticeTest.java
index 3e83719..4f8c88c 100644
--- a/src/test/java/com/android/tools/r8/ir/analysis/type/TypeLatticeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/analysis/type/TypeLatticeTest.java
@@ -395,7 +395,7 @@
             array(
                 element(
                     factory.objectType,
-                    definitelyNotNull(),
+                    maybeNull(),
                     factory.cloneableType,
                     factory.serializableType))),
         join(array(3, factory.intType), array(3, factory.floatType)));