Skip to content

bug - Toolchain archive omits stdlib sources for zero-clone starter tests #809

Description

@dannymeijer

Thanks for reporting! Please include a minimal reproduction when possible.

Area

  • Tooling (CLI/formatter/test runner)
  • Runtime / Core crates (stdlib/core/derive)

Summary

Expected: a released toolchain install should include all stdlib source files needed by zero-clone starter projects, so incan new hello, incan run, incan test, and incan build --release work outside a source checkout.

Actual: the v0.4.0-rc3 toolchain archive installs incan and incan-lsp, but incan test cannot load std.testing because stdlib/testing.incn is not present in the installed toolchain layout. The archive packager currently copies only bin/incan and bin/incan-lsp into the release archive, while runtime stdlib lookup expects an installed stdlib source root through installed layouts or INCAN_STDLIB_PATH.

Reproduction steps

  1. Install Incan v0.4.0-rc3 from the GitHub release toolchain archive on a clean machine.
  2. Ensure the installed incan is on PATH.
  3. Run:
workdir="$(mktemp -d)"
cd "$workdir"

incan new hello --yes
cd hello

incan run
incan test
incan build --release

Output / logs

Created project 'hello' at hello

  src/main.incn          Entry point
  tests/test_main.incn   Starter test
  incan.toml             Project manifest

Run it:     incan run
Test it:    incan test
Release it: incan build --release

Cannot resolve source file for 'std.testing'; expected 'stdlib/testing.incn' under stdlib search roots.
Error parsing ./tests/test_main.incn: Failed to load std.testing marker semantics: could not locate std.testing source at relative path `stdlib/testing.incn`

The release packager currently stages only command binaries:

bin/incan
bin/incan-lsp

The installed package should also provide the stdlib source layout required by the runtime loaders, or set a packaged stdlib root consistently during installation.

Environment

OS: macOS
Rust: stable Rust installed by the v0.4 toolchain installer
Incan: 0.4.0-rc3
Command: incan new hello --yes, then incan run, incan test, and incan build --release

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingruntime / core cratesSuggestions, features, or bugs related to the `incan-core`, `incan-stdlib`, 'incan-derive` cratestoolingSuggestions, features, or bugs related to the Tooling (CLI/formatter/test runner)

    Type

    Fields

    No fields configured for Bug.

    Projects

    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions