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());
+ }
}