intellij-ton icon indicating copy to clipboard operation
intellij-ton copied to clipboard

Support Tact 1.4.0

Open anton-trunov opened this issue 1 year ago • 1 comments
trafficstars

The following is the list of IDE-relevant changes for Tact v1.4.0 which has been released. This issue is a follow-up on #177. The full changelog is here: https://github.com/tact-lang/tact/blob/main/CHANGELOG.md#140---2024-06-21.

New or changed syntax

  • [ ] Unary bitwise NOT operation: ~.
  • [ ] Augmented assignment bitwise operators: |=, &=, ^=.
  • [ ] foreach loop for the Map type now works not only with simple identifiers, but with contract storage and struct fields too: foreach (k, v in self.map) {...} or foreach (k, v in struct.map) {...}.
  • [ ] Trailing semicolons in struct/message declarations are optional now: struct Foo {x: Int} is valid syntax now.
  • [ ] Trailing semicolon in for the last statement in a block is optional now: { let x: Int = 42 } is valid syntax now.
  • [ ] Type annotation for let-statements are optional now: let x = 42 is valid syntax now.

stdlib functions

  • [ ] Fixed the return type of skipBits in stdlib/std/cells.tact: extends mutates native skipBits(self: Slice, l: Int) (used to return Int, now it's void).
  • [ ] New loadBool method for slices.
  • [ ] New fromCell and fromSlice methods for struct parsing.
  • [ ] nativeThrowWhen has been renamed to nativeThrowIf.

anton-trunov avatar Jun 09 '24 12:06 anton-trunov

Tact v1.4.0 has just been released, looking forward to see it supported in Intellij TON!

anton-trunov avatar Jun 21 '24 15:06 anton-trunov

Since Tact support is now implemented in a separate plugin (https://github.com/tact-lang/intelli-tact), this issue can be closed

i582 avatar May 06 '25 11:05 i582