🦀📦 Added Rust×Nyash ownership fusion design (Phase 17+ candidate) - Comprehensive ownership integration proposal with tags + borrowing tokens - 3-tier safety levels (Safe/Unsafe/FFI) with opt-in adoption - Complete link integration across roadmap and docs 🔧 Fixed smoke test path resolution - Corrected ROOT_DIR calculation in selfhost smoke tests - Updated scopebox_identity_smoke.sh, loopform_identity_smoke.sh, selfhost_runner_smoke.sh 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
29 lines
737 B
Bash
29 lines
737 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR=$(cd "$(dirname "$0")/../../../.." && pwd)
|
|
cd "$ROOT_DIR"
|
|
|
|
echo "[smoke] build nyash (release)"
|
|
cargo build --release -q
|
|
|
|
BIN=./target/release/nyash
|
|
CHILD=apps/selfhost/compiler/compiler.nyash
|
|
|
|
echo "[smoke] run child (baseline)"
|
|
BASE=$("$BIN" --backend vm "$CHILD" -- --min-json)
|
|
|
|
echo "[smoke] run child (loopform on)"
|
|
WITH=$("$BIN" --backend vm "$CHILD" -- --min-json --loopform)
|
|
|
|
if [[ "$BASE" != "$WITH" ]]; then
|
|
echo "❌ loopform identity prepass altered JSON" >&2
|
|
diff -u <(echo "$BASE") <(echo "$WITH") || true
|
|
exit 1
|
|
fi
|
|
|
|
echo "$BASE" | grep -q '"kind":"Program"' || { echo "❌ baseline JSON missing Program kind" >&2; exit 1; }
|
|
|
|
echo "✅ loopform identity smoke passed"
|
|
|