Keep quoted string contents intact in CI condition expressions
维护者通常 1 天内回复
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 78/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- python
- 领域
- ci-cd, testing-qa, tooling
调研方向
从 tools/ci/common.py:39 开始,针对 a!b 运行提供的 evaluate() 复现用例。跟踪带引号的字面量和实际运算符的处理方式,然后为列出的运算符、函数和上下文拼写添加有针对性的正向和负向回归测试。完成的标准是:相同的带引号字符串比较结果相等,同时布尔运算符、上下文查找和短路求值仍能正常工作。
由索引模型根据 Issue 内容生成。
描述
Problem
The plan evaluator rewrites operators and function spellings before parsing quoted strings. Equality against the identical values a!b, a&&b, a||b, and always() returns false. Context-looking text inside a string needs the same protection.
Starting point: tools/ci/common.py:39.
Validation
Audited canonical Wave 540728c2eb6cc12f5c69c3fb3fdb96e07ba059a4 (0.0.1-alpha-dev), whose tree matches the local checkout. Validation: Executed Python evaluate() reproductions. Executed compiler probes use the matching checkout-built compiler and std on Linux amd64 (Rust 1.89.0 / LLVM 21.1.8). Source/header or mocked checks are not native execution on another OS.
from tools.ci.common import evaluate
print(evaluate("inputs.value == 'a!b'", {"inputs.value": "a!b"}))
# False; the comparison should be True.
Scope
Make expression token handling respect quoted literals while preserving the existing small checked expression language; do not broaden it into unrestricted evaluation.
Completion criteria
- Identical quoted strings containing operators/function/context spellings compare equal.
- Actual boolean operators, context lookup and short-circuiting retain their behavior.
- Add focused positive/negative evaluator regressions.
This is a bounded, unassigned task with the starting point and focused checks above. Keep unrelated refactoring out of the change.
- 主要语言
- Rust
- 星标
- 56
- 派生
- 21
- 平均合并
- 7 小时 55 分钟
- 30 天内合并 PR
- 56
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
wavefnd/Wave 的其他 Issue
-
Validate CI command vectors before indexing Cargo subcommands可能已有人在做 @amandeavor 于 1 天前认领。 未关闭bug ci good first issue
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复
-
bug good first issue
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
bug good first issue
难度 2/5 1-3 小时 新手友好度 90/100
维护者通常 1 天内回复
-
bug good first issue
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
build good first issue
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
相似的 Issue
-
`mise doctor` Shows Not Installed Lazy Tools as Problems可能已有人在做 @jdx 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 67/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复
-
nn::linear: weight initialization depends on `bias` because the bias is created before the weight可能已有人在做 @monfortema 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
LaurentMazare/tch-rs#1067 ·
-
难度 2/5 1-3 小时 新手友好度 64/100
astral-sh/astral-codec#234 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 67/100