Skip to content

Pepper v0.2.1

Choose a tag to compare

@justinboswell justinboswell released this 19 Oct 04:45
· 639 commits to main since this release

Pepper v0.2.1: everything merged since v0.2.0. One line per pull request.

The VS Code extension is published as release vsix-v0.2.1.

Language

  • Numbers, char, bool and enums whose cases carry no values conform to traits through extend, with static dispatch; extend int { ... } adds methods without a trait (generic constraints phase 4) (#283)
  • Float != is true against NaN, and a NaN is true as a condition, as IEEE 754 and C say (#279)
  • Comparing a struct value with an integer is reported (#274)

Runtime and library

  • Every number type has a static parse: int.parse("42") gives an int?; the integer types take a base from 2 to 36, float and double read decimal notation; math.parse_int is deprecated in favor of long.parse (#285)
  • String.find(from), rfind, split, split_once, join and replace (#226)

Tooling and LSP

  • pepper-lsp resolves every name in real files (hover and go-to-definition), checked by a resolution sweep (#273)

CI and build

  • The LSP smoke test waits for diagnostics instead of a fixed 300 ms (#275)
  • The LLVM setup waits for apt's lock instead of failing (#272)
  • The required test check can no longer pass on a skipped run (#282)
  • The version is 0.2.1 (#287)