Skip to content

Fix the bugs found reviewing the complete type system branch - #5

Closed
ewiger wants to merge 22 commits into
mainfrom
fix/review-bugs
Closed

ewiger wants to merge 22 commits into
mainfrom
fix/review-bugs

Conversation

@ewiger

@ewiger ewiger commented Oct 24, 2026

Copy link
Copy Markdown
Owner

Closes issues 0052 and 0053: every defect the line-by-line review of the complete type system branch confirmed, one commit per unit of the work plan in doc/issues/0053-review-of-unreviewed-code.md, each with a regression test.

  • Parser: no panic on an argument list cut off at end of input; fork branches are full pipelines and need a separator; destructuring across lines and with a trailing comma; import and impl usable as names; type X = before a line break; empty-bracket message.
  • Checker: operators resolve through their own trait only; Self is the implementing type; a generic record re-checks its fields once bound, and its parameters take their variance from the fields; equality reaches a user Eq through Option; none covers Option<Never>.
  • Equality: a container is equal by its type's rule and its elements by their own == (stated in the type-system card); collection steps compare as == does.
  • Collections: take orders a Set by Ord; collect, emit, flat_map take finite iterating functions.
  • Sources and boundary: SQLite reads follow column types (Bool, Float from integers, a NUMERIC Decimal refused as lossy), views and WITHOUT ROWID tables read, non-UTF-8 blobs refused, an unreadable hql.toml is an error, a dotted name is not a path, column names match without regard to case, swapped external names and path fields decode, a Decimal written to SQLite keeps its digits.
  • Performance: distinct, merge, count_by, histogram and map construction are no longer quadratic.
  • decimal.rs takes gcd from num-integer (already in the lock file).

585 tests pass; clippy and fmt are clean.

ewiger added 22 commits October 24, 2026 03:00
…from integers, a NUMERIC Decimal refused as lossy; views, WITHOUT ROWID tables, and non-UTF-8 blobs
…egard to case; a write with no column is refused
@ewiger ewiger closed this Oct 24, 2026
@ewiger
ewiger deleted the fix/review-bugs branch October 24, 2026 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant