pub fn parse_required_symbol_list(
securities: &[Security],
) -> Result<ParsedSymbolList, String>Expand description
校验列表型 input 必须非空 + 每个元素的 market / code 都基本合法。
失败场景(任一即整体 reject,不 partial):
securities.is_empty()→ “security_list empty”- 某个
sec.market == 0(FTAPIQotMarket_Unknown)→ “market=0 (未知)” - 某个
sec.code为空字符串 → “code=""”
注意:本函数不校验 market 是否在 [1, 2, 11, 21, 22, 31, 41, 42, 51, 61, 71]
等具体 enum 内 — 这是 daemon 与 backend 协商的“已知集合“,handler 内部
用 derive_quote_mkt_types_for_market / cache lookup 等机制对未知 market
做下游决定(已经是 loud reject 行为)。本函数只挡 market=0 这个最明显
的“调用方根本没填“ case,避免 silent-fallback 把空 market 当 default。