Skip to content
This repository has been archived by the owner on Jan 18, 2024. It is now read-only.

Version 0.1.5

Compare
Choose a tag to compare
@hedgar2017 hedgar2017 released this 08 Apr 07:57
24d6cbd

Changelog

Language

  • forbidden the division operator /, but implemented std::ff::invert for field inversion
  • allowed casting to types with lesser bitlength (runtime error on overflow)
  • added the bitwise operators |, |=, ^, ^=, &, &=, <<, <<=, >>, >>=, ~ (constant expressions only)
  • added the binary (e.g. 0b101010) and octal (e.g. 0o52) integer literals
  • implemented match exhaustiveness checking without the binding or wildcard pattern
  • removed static statements for global variables (use const instead)
  • limited match scrutinee expression to boolean and integer only, since it is impossible to destructure complex types for now
  • reserved some keywords (see Appendix C of the Zinc book)

Compiler

  • fixed the bug with ! while passing a non-builtin function call as a built-in one's argument
  • fixed the bug with duplicate match expression branches

Overall

  • added a wrapper directory to the release archives to prevent tar- and zip-bombs