Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Tact 1.3.0 #177

Open
15 tasks
anton-trunov opened this issue May 3, 2024 · 0 comments
Open
15 tasks

Support Tact 1.3.0 #177

anton-trunov opened this issue May 3, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@anton-trunov
Copy link

The Tact team has just release Tact v1.3.0 on NPM.

The full CHANGELOG for Tact v1.3.0 can be found here: https://github.com/tact-lang/tact/blob/main/CHANGELOG.md#130---2024-05-03

And here are a summary of editor/IDE-relevant Tact features.

New or fixed syntax

  • Fixed precedence levels for bitwise operators, equality and comparisons. Now the precedence levels match common languages like JS/TS.
  • Support for string escape sequences: \\, \", \n, \r, \t, \v, \b, \f, \u{0} through \u{FFFFFF}, \u0000 through \uFFFF, \x00 through \xFF.
  • Allow chaining method calls with !!, for instance, map.asCell()!!.hash() is grammatically correct now.
  • Trailing commas are allowed in struct instantiations, initOf arguments, init() parameters, inherited traits via with, function arguments and parameters.
  • Struct fields punning, i.e. {foo, bar} is syntactic sugar for { foo: foo, bar: bar }.
  • Inherited trait lists now must be non-empty if with is used.
  • Bitwise XOR (^) operator.
  • The implicit empty init function is now present by default in the contract if not declared.
  • try {...} and try {...} catch {...} statements.
  • foreach loop for the Map type: foreach (k, v in map) {...}.

New stdlib functions

  • pow2, log2 and log math functions in @stdlib/math.
  • Reserve mode constants in @stdlib/reserve, namely ReserveExact, ReserveAllExcept, ReserveAtMost, ReserveAddOriginalBalance, ReserveInvertSign, ReserveBounceIfActionFail.

New methods

  • The concat non-modifying StringBuilder's extension function for chained string concatenations: foo.concat(bar).concat(baz).
  • The toString extension function for Address type: addr.toString.
  • The isEmpty and del extension functions for the Map type: map.isEmpty, map.del(key).
@andreypfau andreypfau added the enhancement New feature or request label May 4, 2024
@anton-trunov anton-trunov mentioned this issue Jun 9, 2024
10 tasks
andreypfau added a commit that referenced this issue Jul 10, 2024
andreypfau added a commit that referenced this issue Jul 15, 2024
### Added

- Support for the latest Tact
  1.4.0 ([#177](#177), [#180](#180))
- Inspections for out of range integer values in FunC and Tact
- Inspections for integer division by zero in FunC and Tact
- Inspections for integer overflow in FunC
- Constant expression evaluation in FunC and Tact (with inline
  hints!) ([#22](#22))

### Fixed

- `message` and `bounced` highlight not working in Tact ([#174](#174))
- `com.intellij.diagnostic.PluginException: Template not found: Fift File` ([#182](#182))
- `Storage for FuncNamedElementIndex.storage is already registered` ([#181](#181))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants