Ayrat
ну, это правильно) если варнинг не варнинг, его надо явно выключать в конкретном месте. Но это пахнет.
Ayrat
Все варнинги = ошибки по мне
Bonart
Все варнинги = ошибки по мне
Да, даже хуже, так как не ломают сборку сразу
Vasily
К сожалению, в текущих реалиях null часто рассматривается как zero
Vasily
И на это бывает завязано довольно много логики
Vasily
А когда кодовая база тыщ 700 строк
Vasily
То рефакторинг может затянуться
Pavel
ну не переходить на новый C# )
Ayrat
Да это полный пэ. Я как-то получил кодовую базу, где некий РЕПОЗИТОРИЙ на вызове метода GetAll: unit -> IEnumerable<x> отдавал не Seq.empty, а null. Ну типа не нашлось ничего. А ты когда по такой коллекции начинал Linq гонять получал NRE ясен хер. У меня так горело
Vasily
Этот спор стар как мир дотнет
Vasily
Есть адепты возврата пустой коллекции
Vasily
Есть адепты нулла
Pavel
а адепты Result ?
Vasily
а адепты Result ?
Эти в меньшинстве,к сожалению
Pavel
и рыбки клейсли
Vasily
Плюс ещё на сериализации бывает интересно
Pavel
Эти в меньшинстве,к сожалению
а Result из коробки в c# есть вообще?
Pavel
это как-то слишком жирно
Pavel
даже в котлин подвезли Result
Vasily
Ну в сишарпе нету резалта ,да
Vasily
В целом, можно nullable рассматривать в данном ключе
Pavel
да, это неспложно. Просто было бы легче интегрироваться с разными либами, когда есть в сдк
Bonart
да, это неспложно. Просто было бы легче интегрироваться с разными либами, когда есть в сдк
Либы для шарпа обычно используют исключения. Достаточно уметь конвертить резалт туда-обратно
Vasily
Ну тоже не всегда
Ayrat
Там вон хороший вопрос на SO задали https://stackoverflow.com/questions/50944604/f-type-parameter-cannot-be-used-as-type-constructor
Ayrat
Ну, в F# не очень реализуемо то что он хочет да
Анна
Хочет странного.
а это разве не примерно то, что через модули в окамле можно сделать?
gsomix
Ну, в F# не очень реализуемо то что он хочет да
Зависит от устройства тех "message systems", от которых он хочет абстрагироваться. Я плохо понимаю мотивацию.
gsomix
а это разве не примерно то, что через модули в окамле можно сделать?
Да, пожалуй, в OCaml можно было бы завести сигнатуру с абстрактным типом ссылки.
gsomix
В F# мы можем ввести новый тип Ref<'T, 'Msg>, где 'T — это тип "нетипизированной" ссылки, 'Msg — тип сообщения.
gsomix
И уже в коде, где тип ссылки уже известен, будут нужны две дополнительные функции pack/unpack.
gsomix
Кажется, довольно просто. Более сложный случай, когда типы совсем "стираются" — тогда нужна рефлексия и визиторы.
gsomix
Другое решение, в духе ОО -- выделить общий минимальный интерфейс и сделать обертки для ссылок. С object expressions должно быть симпатично.
gsomix
Комментарии, предложения? :)
Dr. Friedrich
Мне лень.
А в чате донкихотствовать тебе не лень!
gsomix
А правильный ответ "нет, так нельзя" уже дали.
Romɑn
https://twitter.com/MongoDB/status/1009528690659733508?s=19
Nikolay
35 градусов у нас
Nikolay
Убейте
Nikolay
Хочу дождь и прохладу
Romɑn
Еретик
Vasily
Питерцы не любят жару?
Анна
Я тоже не люблю жару
Nikolay
Я не питерец :)
Vasily
А,Минск,бацька
Анна
А,Минск,бацька
ты всё перепутал походу
Nikolay
И не белорус
Vasily
ты всё перепутал походу
Со мной это бывает
Nikolay
Анна
И не белорус
я тоже не белорус. Но в Минске - я 😂
Nikolay
Если в Минске, значит белорус, иначе быть не может
Nikolay
Даже если ты не белорус, ты им становишься
Vasily
Говорят, в Минске можно вкусно поесть
Nikolay
У кого Telegram Desktop стоит? Можете посмотреть версию свою?
Анна
1.3.7
Nikolay
Чёт у меня апдейты сломались
Nikolay
1.2.17
Анна
Говорят, в Минске можно вкусно поесть
теоретически. Но вообще за вкуснопоесть внаукраину обычно едут, здесь с этим туго
Dr. Friedrich
А дома обновилось.
Nikolay
У меня тоже
Romɑn
Вот
Я вручную обновлял с гита скачал
Romɑn
Там РКН успел таки заблочить обновления тг
Vasily
У меня 1.2.15
Romɑn
Да, возможно.
Истинно тебе говорю я! Пройдя да Корифинянам сказано, ибо РКН блочил их посыльных
Romɑn
Простите, вырвалось