Size: a a a

2021 April 04

AF

Artem F in rust_offtopic
все равно на раст не перейду. На нем вакансий до сих пор  - раз, два  и обчелся ))
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
простой пример:

static int method(IntBinaryOperator op) throws ??? {
   return op.applyAsInt(5, 10);
}

Как
тут описать "method бросает ровно те же исключения что и op"?
источник

Т8

Т-34 85 in rust_offtopic
ну, если поддержки со стороны компилятора нет такой фичи, то просто скопировать эти типы исключений
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Второй вопрос:

static int method(IntBinaryOperator op) throws ??? {
   try {
       return op.applyAsInt(5, 10);
   }
   catch (SomeException) {
       return 500;
   }
}

Как
описать "бросает те же исключения что и op КРОМЕ исключения SomeException"?
источник

Т8

Т-34 85 in rust_offtopic
м. Ну, ответ такой же😁
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
ну твой ответ "ну должна быть поддержка компилятора", По факту её нет
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
если бы была тогда был бы другой разговор. Но мы про Java14 а не про джаву страны эльфов
источник

Т8

Т-34 85 in rust_offtopic
да я понимаю претензию. Тут размышляю об идеальном устройстве, как могло бы быть
источник

KR

Kai Ren in rust_offtopic
П****ь - не мешки ворочать (с)

Давеча @tucnak рассказывал про тестовое задание на конкуррентность, которое даёт на собеседовании. Ну там… записать в 3 хранилища, закончить на 2 успешных записях, cancellation, retry, backoff, полный фаршмак.

Предлагаю, сударь, дуэль. @tucnak нам даёт внятное ТЗ, мы его выполняем. Я на Расте, Вы на Го. Как оба готовы - постим здесь ссылки. Хоть на плэйграунд, хоть на гист, хоть куда угодно. А все пацаны уже заценят оба кода, и выскажутся. Ну и ты сам заценишь.
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
ну первое в расте легко решается:

fn method<E>(f: impl Fn(i32, i32) -> Result<i32, E>) -> Result<i32, E>
источник

Т8

Т-34 85 in rust_offtopic
pros & cons каждого подохода еррор хэндлинга
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
ну я не вижу минусов в том чтобы описывать ошибки в сигнатуре, ну вообще никаких. В худшем случае ты описываешь ошибку как "что угодно" - уже идет инфа что функция может обосраться и не всегда ответ возвращает. Так работает anyhow в расте.

Но чаще ты можешь указать что конкретно ломается
источник

Т8

Т-34 85 in rust_offtopic
окей, спс
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
плюс у таких вещей сразу прозрачные результаты в виде "запустиле параллельно 100 задач и ждем" в случае если какая-то из них с ошибкой упадет
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
в сишарпе целый анал-карнавал с unverservable task exception'ами
источник

Z

Zaner in rust_offtopic
стрёмный автор, но статья в тему
источник

Т8

Т-34 85 in rust_offtopic
в шарпе нет проверяемых исключений, но макаки всё равно ими пользуются как проверяемыми
источник

AF

Artem F in rust_offtopic
Может, еще через годик. Я и го не так давно начал юзать - до сих пор комплекс самозванца не преодолел. А у тебя стаж расто-педофилии, небось, еще с бета-версий. Матерый извращенец ))
источник

KR

Kai Ren in rust_offtopic
Я и в Го погомосятить успел знатно)
К слову, задание не сложное.
источник

AF

Artem F in rust_offtopic
Я запомню и вернусь, мне надо еще поднатореть в теории, чтоб было чем ответить на твою камасутру ))
источник