18249, "BryantLam", "reexport compile-error when symbol is inside private module", "2021-08-18T22:53:19Z"
I tried to do a public import
(reexport) of a symbol inside a private module.
Is this code intended to be valid?
module M {
public import this.Details.fn;
private module Details {
proc fn() {}
}
}
module SomeOtherFile {
proc main() {
{
import M;
M.fn(); // compile-error
}
{
import M.fn; // (1)
fn(); // compile-error
}
}
}
# chpl version 1.24.1
error: unresolved call 'M.fn()'
note: because no functions named fn found in scope
error: unresolved call 'fn()'
note: because no functions named fn found in scope
(1) import M.fn
does compile if you omit the compile-error
lines which surprised me only a little.