GitoxideLabs/gitoxide · warning

unimplemented!()

Error message

unimplemented!()

What it means

The `gix-tui` crate's binary entry point is an explicit stub: `fn main() { unimplemented!() }`. Running the `gix-tui` binary always panics with `not implemented`. The crate exists as scaffolding for a future terminal UI and has no functionality yet.

Solutions

  1. Do not use gix-tui; it is not implemented. Use the `gix` CLI (`gitoxide` binary) instead.
  2. Implement the TUI main function if this is your fork/feature branch.
  3. Remove the crate from your build/workspace if the binary is not needed.

Example fix

// before
fn main() {
    unimplemented!();
}
// after
fn main() -> anyhow::Result<()> {
    gitoxide_core::tui::run(std::io::stdout())
}
Defensive patterns

Strategy: fallback

Try / catch

if std::env::var_os("GIX_TUI").is_some() { eprintln!("gix-tui is not implemented yet"); std::process::exit(2); }

Prevention

When it happens

Trigger: Executing the compiled `gix-tui` binary, or any invocation that reaches its `main` function.

Common situations: A developer builds the whole gitoxide workspace (or runs `cargo run -p gix-tui`) expecting a TUI and hits the stub panic.

Related errors


AI-assisted analysis of GitoxideLabs/gitoxide@e73179060b (2026-09-08). Data as JSON: /api/errors/a4d05331a4102674. Report an issue: GitHub.

Appendix: source

Thrown at gix-tui/src/main.rs:4

#![forbid(unsafe_code)]

fn main() {
    unimplemented!();
}

View on GitHub (pinned to e73179060b)