Ayrat
тоже с акцентом?))
ну тип того)))
Vasily
Чет райдер плохо переваривает файлы на 25к+ строк...
Vasiliy
О_О что за наркомания в 25к строк.
Vasiliy
ужас.
Vasily
Не говори
Vasily
Но тот же тп писать, например, такое себе развлечение
Vasily
Так, а кто мне расскажет, как дернуть статический метод без параметров?
Vasily
Точнее статик мембер
Vasily
Ayrat
Угу
Ну так напиши как обычно но со словом static
Vasily
проблема в том, что мне не нужно там имя типа
Vasily
Я его хочу в Active pattern подставлять
Ayrat
(^a : (static member Foo: unit -> unit), a)
Vasily
А без ()?
Ayrat
Да как хочешь вообще.
Vladislav
(^a : (static member Foo: unit -> unit), a)
(^a : (static member Foo: unit -> unit), (a))
Vladislav
вроде
Ayrat
вроде
Дада
Ayrat
Я уже пофиксил
Vasily
У меня сигнатура Foo:int
Vladislav
а
Vladislav
если мембе
Vladislav
р
Vladislav
то просто : int
Ayrat
У меня сигнатура Foo:int
Бля, ну так и напиши Foo: int
Vasily
let inline (|TypeId|) (x:int)= fun()->(^a:(static member constructor:int)) НЕ ПАШЕТ
Ayrat
Ты ж инстанс не передал
Vasily
А его нет
Vladislav
боже храни сайма за синтаксис сртп
Ayrat
Чиво
Vasily
Мне нужно поведение конста
Vladislav
А его нет
у кого конструктор то дергать собрался)
Vasily
Точнее литерала
Vasily
Чтобы матчить
Vladislav
а
Ayrat
Я нихуя не понял
Vasily
Чтобы везде не писать |x when x=y.constructor
Vladislav
щас
Vladislav
щас
Ayrat
Чтобы везде не писать |x when x=y.constructor
Так вот у тебя есть инстанс - у
Vasily
Да, я наркоман немного
Ayrat
Это тип
Создай анчекд дефолт
Ayrat
И подай туда
Ayrat
Это кстати в рефлексии так же рабоатает
Ayrat
Ты передаешь null
Vasily
Ну реально хуйня тогда
Ayrat
Как объект на статические методы
Ayrat
let a = Unchecked.defaultOf<>
Vasily
А чо, null туда можно ебануть?
Ayrat
Хотя можно и просто null
Ayrat
А чо, null туда можно ебануть?
Не знаю, но почему нет
Vasily
А вот хуй тебе, а не null
Ayrat
Хуйни туда типизированный нулл
Ayrat
Пусть компилятор будет довольными
Vasily
Чет не взлетает
Vasily
А откуда выводится тип ^a?
Ну вот я и думаю, откуда его вывести
Vasily
И будет ли это вообще работать
Klei
Пример желаемого использования есть?
Vladislav
Точнее литерала
https://stackoverflow.com/a/41017541/5232946
Vasily
Неясно, как применить
Vasily
В общем, у меня у типа есть static member x:int
Vladislav
на константы нельзя натравить сртп
Klei
А можно написать | TypeId<MyType> p -> ... ?
Vasily
И я хочу писать match x with |Type1.x
Vasily
пока приходится писать |y when y=Type1.x
Vasily
И вот я думаю, можно ли так сделать вообще?
Klei
Ну можно хотя бы частично упростить через let (|Eq|_|) expexted actual = if expexted = actual then Some () else None | Eq Type1.x -> ...
Vasily
А, ну так можно
Vasily
попробовать
Klei
С дженериками в матчинге жопа какая-то. Вчера столкнулся с тем, что не мог засунуть статический проп дженерик-типа в качестве параметра частичного шаблона.
Klei
Синтаксически не распознавалось.