-
-
Notifications
You must be signed in to change notification settings - Fork 121
Open
Description
With the following example module:
module A
provide enum Variant {
VariantA,
VariantB
}
A consuming module will experience strange behavior with regards to accessing the definitions defined in the module
module B
include "./a"
// compiles as expected
print(A.VariantA)
// fails to compile as expected, since `VariantB` hasn't been directly extracted from the module
print(VariantB)
// compiles even though `VariantB` hasn't been brought into scope from the module
print(A.VariantA == VariantB)
At first glance it appears that the entire module is brought into scope for the expression hence why A.VariantA == VariantB compiles
Reactions are currently unavailable