Size: a a a

2020 July 06

💮

💮 in codingteam
codingteam@cjr
Minoru
так, а у кого я могу получить индулигенцию? Я тут собираюсь использовать строковые константы вместо enum, потому что апишка требует именно &str. В следующей версии уже вроде поменяли на произвольный тип, но она ещё только в альфе. Мне реально стыдно писать этот код!
За что стыдиться-то, ты же просто соблюдаешь требования чужой системы.
источник

c

codingteam@cjr in codingteam
Minoru
не знаю. У меня ощущение, что я должен *что-то* сделать, что-то придумать, как-то выкрутиться
источник

t

ttldtor in codingteam
codingteam@cjr
Minoru
так, а у кого я могу получить индулигенцию? Я тут собираюсь использовать строковые константы вместо enum, потому что апишка требует именно &str. В следующей версии уже вроде поменяли на произвольный тип, но она ещё только в альфе. Мне реально стыдно писать этот код!
а они чо, шаблонами не могли? Или попросить ваще рейндж из чаров?
источник

t

ttldtor in codingteam
вон в дишке рейндж из чаров хренакс
источник

c

codingteam@cjr in codingteam
Minoru
по-моему, автору просто не пришло в голову, что я могу захотеть прикретить к ошибке не просто текст, а какое-то произвольное значение
источник

t

ttldtor in codingteam
codingteam@cjr
Minoru
по-моему, автору просто не пришло в голову, что я могу захотеть прикретить к ошибке не просто текст, а какое-то произвольное значение
вот это уже звучит как JS-мозга
источник

💮

💮 in codingteam
codingteam@cjr
Minoru
не знаю. У меня ощущение, что я должен *что-то* сделать, что-то придумать, как-то выкрутиться
Ну сделай глобальные константы вместо строковых литералов и делай вид что это енам. Потом переделаешь, может быть даже не трогая места вызовов.
источник

t

ttldtor in codingteam
или LISP?
источник

t

ttldtor in codingteam
а не, лисп норм
источник

t

ttldtor in codingteam
там списочки
источник

t

ttldtor in codingteam
списулечки
источник

c

codingteam@cjr in codingteam
Minoru
@pink_snow: я и сделал &'static str, но ведь это все равно хуже, чем enum, потому что компилятор не заметит, если я что-то не обработаю или использую не так. Кажется, у меня приступ перфекционизма просто
источник

c

codingteam@cjr in codingteam
Minoru
@ttldtor: ну, не знаю. Я готов поверить, что человек просто думал про конкретный юз-кейс и ему ничего другого в голову не пришло. А т.к. либу он пишет почти в одиночку, то его никто не поймал за руку и не заставил исправить
источник

💮

💮 in codingteam
codingteam@cjr
Minoru
@pink_snow: я и сделал &'static str, но ведь это все равно хуже, чем enum, потому что компилятор не заметит, если я что-то не обработаю или использую не так. Кажется, у меня приступ перфекционизма просто
Ок, сделай енам и функции &str -> enum и enum -> &'static str.
источник

t

ttldtor in codingteam
codingteam@cjr
Minoru
@ttldtor: ну, не знаю. Я готов поверить, что человек просто думал про конкретный юз-кейс и ему ничего другого в голову не пришло. А т.к. либу он пишет почти в одиночку, то его никто не поймал за руку и не заставил исправить
жаль, что новая версия только в альфе.
источник

c

codingteam@cjr in codingteam
Minoru
@pink_snow: первая функция не будет бить по рукам. Кроме того, появляется риск подставить в неё что-то не то. В общем, это неудачная абстракция, которая на самом деле не добавляет безопасности
источник

💮

💮 in codingteam
codingteam@cjr
Minoru
@pink_snow: первая функция не будет бить по рукам. Кроме того, появляется риск подставить в неё что-то не то. В общем, это неудачная абстракция, которая на самом деле не добавляет безопасности
Строковые константы только в твоём коде задаются?
источник

c

codingteam@cjr in codingteam
Minoru
@pink_snow: да
источник

c

codingteam@cjr in codingteam
Minoru
я только что понял, что я могу ограничить их одним модулем
источник

c

codingteam@cjr in codingteam
Minoru
в модуле 766 строк с тестами. Ладно, можно прожить и со строковыми константами
источник