Current version fails with missing method exception on op --> (DiffSharp). This is because EvalTraitCallInvoke uses InvokeMember which does not support generic methods. As an alternative type parameters are matched, generic methods are created and Type.DefaultBinder.BindToMethod is then called directly.
This change alone fixes the diffsharp shape checking on -->. To add a test exit needed to be removed from ProcessCommandLine otherwise the failing test causes the test host process to exit. Furthermore since the test is not using a method in an external assembly, phase4 of EmitInterpretExpression needed to be updated to add generic parameters to the env prior to resolving parameter and return types.
Current version fails with missing method exception on op
-->
(DiffSharp). This is becauseEvalTraitCallInvoke
usesInvokeMember
which does not support generic methods. As an alternative type parameters are matched, generic methods are created andType.DefaultBinder.BindToMethod
is then called directly.This change alone fixes the diffsharp shape checking on
-->
. To add a testexit
needed to be removed fromProcessCommandLine
otherwise the failing test causes the test host process to exit. Furthermore since the test is not using a method in an external assembly, phase4 ofEmitInterpretExpression
needed to be updated to add generic parameters to the env prior to resolving parameter and return types.