для конструкций вида:
let mkInvokable ([<InlineIfLambda>] myLambda) = { new IInvokable with member this.Invoke() = myLambda() } - развернёт ли? Что-то подсказывает, что нет, но конкретно для гопака это было бы огромным ускорением
https://sharplab.io/#v2:DYLgZgzgPgLgngBwKYAICSaB2A3A9gawEMAjYVAXgFgAoFOlEiGAJ0IGMZ0cCkQUBXTAEtOAWgB8A4TBo0ynIZmCLUAW3xY8RUqgAUAbQA8WZZiRowAGUKriAE0LiAuikVakAShRVa9AN4oZgDu6JoEJGQoQSIAFiiqSLZIzCgA+gB0YfhIul7krtzZKLkoAL6y1DRGAKKYLHAACriKMM5ySJyqhIoMzADmEN409CjyBVoRFMMj9OpZk8VggsVeEtMzMwjMLWCYKABEW0jYSHUFpkj76xv0Wzt7h8zHpwpKKvs3M9cjHtdu4TpMoUcr9fHQAAw0IA=== Вроде бы заинлайнил до реализации
Занятно. Да, он напилил 2 реализации. Надо ещё потестить если в лямбде есть замыкания
Обсуждают сегодня