XO0605: name is not `pub` in its module, or the std type is an opaque handle
Only pub declarations, fields, and methods are visible outside their module. Mark the declaration pub if it is part of the module’s API, or use an exported function instead. Some std types are opaque handles with no visible fields; they cannot be built with a struct literal and are created by their constructor function. See core 1.5.
Example
// lib/a.xo
fn hidden() -> Int { 1 }
// main/main.xo
use example.com/app/lib
fn f() -> Int { lib.hidden() }Fix
// lib/a.xo
pub fn hidden() -> Int { 1 }
// main/main.xo
use example.com/app/lib
fn f() -> Int { lib.hidden() }Run xo explain XO0605 for this text in a terminal, or see
section 10.6 of the specification.