Skip to content

brokk-tree-sitter-cpp 0.24.6

Choose a tag to compare

@jbellis jbellis released this 25 Oct 17:06
· 2 commits to master since this release
f4b0390

Changes

  • Parse an unnamed enumeration with an underlying type, such as enum : int { A, B };, without recovery. The underlying type is now in the base field, as it is for named enums. Before this release it parsed with an ERROR node and the type in name. Includes a corpus case for primitive, sized, typedef-name and qualified bases, a typedef and a field declaration. Thanks to @jbellis in #9.
  • Revert the 0.24.5 cast-type-descriptor change. 0.24.6 is 0.24.4 plus the enum change. 0.24.5 changed recovery trees in four Bifrost C++ tests and was never adopted, and that feature is parked. The narrower candidates stay on the branches 5452-leading-type-descriptor-macros and 5452-qualified-type-descriptor-macros.
  • Regenerate the parser and update package metadata to 0.24.6. Tree-sitter ABI 15 is unchanged. node-types.json is unchanged.

Bifrost's 331 C and C++ fixtures, the libstdc++ 9 and 10 headers and /usr/include (900 files) give byte-identical trees under 0.24.4 and 0.24.6.

Verified publication

  • Rust crate: brokk-tree-sitter-cpp 0.24.6
  • Tag and published source commit: f4b03909f1da6ff86b6a8d43e66567f153574448
  • Crate SHA-256: 674f79e5a0d24788fea4086549cbc0ee6290fdfe142c7ac400ba3ae23542d6d8
  • CI passed at this commit. It covers generated-parser consistency, the corpus and highlight tests, the bindings and the package-content checks.
  • Crate publication succeeded. I verified these independently: the registry archive checksum matches the index; .cargo_vcs_info.json records the tagged commit; and parser.c, scanner.c, grammar.json, node-types.json and grammar.js match the tag byte for byte.