Skip to content

Support Tact 1.3.0 #177

Closed
Closed
@anton-trunov

Description

@anton-trunov

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions