cleanup: drop resolved-issue citations from src comments
Sweep all src/**.zig comments that cite resolved issues (issue NNNN / fix-NNNN / KB-N): the invariant or mechanism each comment states is kept; the historical citation is dropped, per the no-conclusion-comments rule. Pure-history parentheticals are removed outright. References to the 16 still-open issues (0030, 0041-0056) are untouched, as are test NAMES carrying regression provenance (matching the sanctioned "Regression (issue NNNN)" example-header convention). Also removes the issues/0019-import-non-transitive-c-scope/ fixture dir — the issue is superseded and its behavior is covered by examples/0706-modules-import-non-transitive.sx (the .md writeup stays). issues/0030's repro .sx stays: that issue is an open feature request. Gate: zig build OK; zig build test 426/426; run_examples 541/0; zero expected/ snapshot churn.
This commit is contained in:
@@ -392,7 +392,7 @@ test "moduleConstInt gates the fold on the declared type, not the initializer no
|
||||
|
||||
// An `int_literal` value node folds to an integer ONLY when the declared
|
||||
// type is numeric. A `string`/`bool`-typed const carrying an integer-looking
|
||||
// initializer must never be folded into a count (issue 0088): the count path
|
||||
// initializer must never be folded into a count: the count path
|
||||
// consults `ModuleConstInfo.ty`, not just the node shape.
|
||||
var int_val = nLit(4);
|
||||
try map.put("OK", .{ .value = &int_val, .ty = .s64 });
|
||||
@@ -405,8 +405,8 @@ test "moduleConstInt gates the fold on the declared type, not the initializer no
|
||||
|
||||
// The same gate holds for a const-EXPRESSION value node (`M + 2`), not just
|
||||
// a bare literal: a `string`-typed const whose initializer is a foldable
|
||||
// integer expression must still never fold as a count (issue 0088 attempt 2 —
|
||||
// the const-expression leak). `KEXPR : s64 : M + 2` (numeric type) folds; the
|
||||
// integer expression must still never fold as a count (the
|
||||
// const-expression leak). `KEXPR : s64 : M + 2` (numeric type) folds; the
|
||||
// same expression declared `string` does not.
|
||||
var m_lit = nLit(2);
|
||||
var add2 = nLit(2);
|
||||
@@ -471,7 +471,7 @@ test "evalConstFloatExpr folds comptime float expressions, halts on runtime leav
|
||||
// an expression like `F + 0.25` (= 2.75) is now recognised as a compile-time
|
||||
// float and rejected by the narrowing rule instead of silently truncating;
|
||||
// `F + 1.5` (= 4.0) is integral and folds. This completes the evaluator for
|
||||
// float-const-leaf expressions (issue 0095, attempt 3).
|
||||
// float-const-leaf expressions.
|
||||
var f = nIdent("F");
|
||||
var quarter = nFloat(0.25);
|
||||
var three_half = nFloat(1.5);
|
||||
@@ -486,7 +486,7 @@ test "evalConstFloatExpr folds comptime float expressions, halts on runtime leav
|
||||
// `type_resolver.floatLimitFor`. It folds as a direct leaf AND inside an
|
||||
// expression: `f64.max - f64.max` = 0.0 (integral → folds), `f64.true_min +
|
||||
// 0.5` = 0.5 (non-integral → the narrowing rule rejects it). A non-limit
|
||||
// field on a float type is not a leaf → null (issue 0095, attempt 5 parity).
|
||||
// field on a float type is not a leaf → null.
|
||||
var f64ty = nIdent("f64");
|
||||
var f32ty = nIdent("f32");
|
||||
var fmax = nField(&f64ty, "max");
|
||||
@@ -542,7 +542,7 @@ test "a backtick raw-shadow receiver is a field read, not a numeric-limit fold (
|
||||
// field access is an ordinary runtime field READ, so it is NOT a compile-time
|
||||
// leaf in either evaluator (→ null), exactly as the sibling `isFloatValuedExpr`
|
||||
// already treats it. The whole point: a value-shadow can never be misread as
|
||||
// the builtin limit (issue 0095 / F0.11-7).
|
||||
// the builtin limit.
|
||||
var f64raw = nIdentRaw("f64");
|
||||
var s8raw = nIdentRaw("s8");
|
||||
var raw_feps = nField(&f64raw, "epsilon");
|
||||
@@ -594,7 +594,7 @@ test "foldCountI64 / foldDimU32 fold an integral float count, reject a non-integ
|
||||
try std.testing.expectEqual(pi.DimU32{ .below_min = -4 }, pi.foldDimU32(&negf, ctx, 0));
|
||||
}
|
||||
|
||||
test "the int folder refuses a FLOAT division (issue 0095 / F0.11-6)" {
|
||||
test "the int folder refuses a FLOAT division" {
|
||||
const eval = pi.evalConstIntExpr;
|
||||
const ctx = DimCtx{}; // K : f64 : 4.0 (integral float const), M = 4 (int const)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user