Pipe first has higher priority than `!`
let a = "foo"
let x = !a->Js.String.includes("f") // doesn't compile (a should be a bool)
let x = !(a->Js.String.includes("f")) // compiles
That seems like a regression from the original syntax
Yes, this is currently the case. I'll look into this.
Same goes for object access:
let timezone = Intl.DateTimeFormat.make()->Intl.DateTimeFormat.resolvedOptions["timeZone"]
Still on my TODO-list 😅
According to the language, which operator should have more preference? -> (or) ! ?
@ryyppy @cristianoc @IwanKaramazow
OCaml throws an error

The rescript-lang/syntax repo is obsolete and will be archived soon. If this issue is still relevant, please reopen in the compiler repo (https://github.com/rescript-lang/rescript-compiler) or comment here to ask for it to be moved. Thank you for your contributions.