Xo is experimental. The source code is not public yet; it will be soon. Read the release notes
Menu · XO0605

Docs

XO0605: name is not `pub` in its module, or the std type is an opaque handle

error · reported by the checker

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.