fn find_observe_end(input: &str, start: usize, end_chars: &Pat) -> Option<Span>Expand description
从 rest0 的 start 位置扫描,跟踪花括号深度,在深度 0 遇到 end_chars 时返回其区间。
必须按字符而非字节步进:化学公式可含多字节 UTF-8 字符(如中文说明
文字「浓」占 3 字节)。逐字节 i+=1 会让 &input[i..] 落在字符内部,
触发 byte index N is not a char boundary panic(在 panic=abort 下直接
杀进程),且 bytes[i] as char 会把多字节字符的首字节误判为花括号,
导致输出损坏。char_indices 保证每步都在字符边界上。