Different behavior between 9.0.x & 9.1.x

Hi there !

We notice something when we have upgraded to 9.1.x, when we call a function through JS object syntax, the JS output is different, here is the repro :

9.0.x

9.1.x

In this case, calling a function like getBoundingClientRect through Curry makes the browser throwing an error (TypeError: Illegal invocation on Chrome)

Is this a wanted behavior ?

Cheers

Yeah. IIRC this was due to the change of simplifying the structural object semantics (dropping the need of Js.t). It is now required to use the uncurried function call syntax when calling a method on a {..} type:

Before:

someObj["getBoundingClientRect"]()

After:

someObj["getBoundingClientRect"](.)