I believe the root of this issue is in Untypeast. Looking at Destruct.destruct_expression, it logs the expression being destructed after passing it to Untypeast.untype_expression. For this program, it is:
We can see here that the ~bar argument has snuck into our expression. I think solving this might involve some Merlin-specifc logic in Untypeast that detects optional arguments that users didn't supply and strips them out.
Version
On branch master (commit fa9b391529d1b01f091bd6d565efa2cee545d58c)
With the file
test.ml
:running
Expected:
Actual:
I believe the root of this issue is in
Untypeast
. Looking atDestruct.destruct_expression
, it logs the expression being destructed after passing it toUntypeast.untype_expression
. For this program, it is:We can see here that the
~bar
argument has snuck into our expression. I think solving this might involve some Merlin-specifc logic inUntypeast
that detects optional arguments that users didn't supply and strips them out.Version
On branch
master
(commitfa9b391529d1b01f091bd6d565efa2cee545d58c
)