Native declared providers are automatically exported.

--
MOS_MIGRATED_REVID=134221884
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
index 42cd32a..7a78b6e 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
@@ -981,7 +981,7 @@
     assertThat(dataConstructor.isExported()).isTrue();
     assertThat(dataConstructor.getPrintableName()).isEqualTo("data");
     assertThat(dataConstructor.getKey()).isEqualTo(
-        new SkylarkClassObjectConstructor.Key(FAKE_LABEL, "data")
+        new SkylarkClassObjectConstructor.SkylarkKey(FAKE_LABEL, "data")
     );
   }
 
@@ -1017,4 +1017,16 @@
         "d = d1 + d2"
     );
   }
+
+  @Test
+  public void structsAsDeclaredProvidersTest() throws Exception {
+    evalAndExport(
+        "data = struct(x = 1)"
+    );
+    SkylarkClassObject data = (SkylarkClassObject) lookup("data");
+    assertThat(SkylarkClassObjectConstructor.STRUCT.isExported()).isTrue();
+    assertThat(data.getConstructor()).isEqualTo(SkylarkClassObjectConstructor.STRUCT);
+    assertThat(data.getConstructor().getKey())
+        .isEqualTo(SkylarkClassObjectConstructor.STRUCT.getKey());
+  }
 }