# tools/diff-cases/unsupported.txt —— **native 后端不支持**的语法
#
# 这一批用例断言的是**反面**语义：这些写法 native 后端**还没实现**，
# 所以它必须**明确报错 + 退出码 2 + 给出委托提示**，
# **绝不**偷偷把整行交给 `sh -c`（本机 `/bin/sh` 是 dash，
# 差异会静默泄漏 —— 用户写 bash 语法却跑出另一种结果，比明确报错更糟）。
#
# ⚠ 行尾的 `  #!unsupported` 是**标记**：
#   · 对拍工具不比对这几条的 stdout（bash 支持、我们明确不支持 ⇒ 必然不同）；
#   · 改为断言 raku 侧确实**明确报错**了（stdout 字段 = `!UNSUPPORTED`）。
#   见 tools/diff-check.sh 的说明。
#
# ⚠ 这些用例在**真 bash** 里大多能正常跑（所以 bash 侧的 stdout 有内容）——
#   这正是重点：差异必须是**显式**的（明确报错），不是**静默**的。

# 子 shell `( … )` —— bash 支持，native 后端还没实现
echo $( (echo a) )  #!unsupported
( echo a )  #!unsupported

# 复合命令 `{ …; }` —— bash 支持，native 后端还没实现
{ echo a; }  #!unsupported

# shell 内建 `cd` —— native 后端还没实现（会话内建只做了 export / unset / 赋值）
cd /tmp  #!unsupported
cd /tmp && echo x  #!unsupported

# 会话内建出现在**管道**里 —— bash 里它跑在管道子进程里（不影响会话），
# 这个语义 native 后端还没实现 ⇒ 明确报错
export RK_UNSUP=1 | cat  #!unsupported
unset RK_UNSUP | cat  #!unsupported
