Надо потом упороться и прочитать как асинк работает в расте, подробно. Хорошо бы столкнуться с проблемой конкретной, но пока таковых нет.

Мне пока только не нравится то, что иногда я не понимаю где искать трейты. Написано into() а во что оно и как превратится, хз, приходится не просто нажать на методе и попасть в имплементацию для структуры, а открывать структуру (иногда еще поди пойми какую) и там просматривать код в поисках. Не найду никак быстрый способ искать такое.

Потому, что до этого инто может пройти три дерефа и потом еще дрянь какая, и компилер знает, что все норм, а показать где не может. Это прям бесит. Плюс я плаваю в сложных случаях когда ограничений и времен жизни сразу много, вроде и не сложно, но как-то пока не привычно.

Главным образом эти вещи вызывают проблемы потому, что ошибки показываются в таких случаях где попало. Но в целом я почти привык, просто хочется найти методику быстрого разрешения подобного.

Например есть енам ошибки. Он реализует трейт фром для кучи других и есть обертка, к которой этот енам автоматом можно привести. В итоге я могу в коде сразу вызвать метод обертки. Компилер поймет, что ошибку А можно привести к Б, а Б к В, а у В есть метод context(). В итоге в коде написано только чтото.context() все остальное магия компилятора и автоматического дерефа и прочих конвертаций типа фром. Я привык к тому, что всю цепочку легко отследить и пройти по шагам...тут же иногда не так.

Если бы была кнопень "развернуть преобразования" в среде разработки, я был бы доволен. Надо поискать, может есть такая. Макросы можно разворачивать нередко.

Поискал. По сути это те же макросы, но для макросов запилили, а для этого нет. Загадочно.

Follow

Но в целом это все вызывает иногда большой геморрой, раздражающий, но редко и все реже.

Надо еще базовые трейты все просмотреть, еще не все видел.

Может прочитать еще растономикон и асинк надо, глядишь надумаю. Пока что все понятно в целом и не сложно. Кстати, макросы намного лучше джавовых рефлексий, так как компайл тайм все, никаких чудес.

Как ни странно в макросах ошибки понятны сразу, так как они показываются там где произошли, ни разу затыка не было с этим. А вот с автовыаодом, бывает сложно. Единственный метод пока это все выделять в отдельные переменные (среда может по кнопке) и смотреть там типы. В простых случаях это помогает сразу и не надо, а в сложных среда типы частично :) При этом ладно получить исходящий тип, а входящий вообще по сути никак и тут, на входе миллион границ, а на выходе кусок типа, крутись :)

Плюс в vscode стандартное окно показа ошибок работает плохо, я бесился за неясность ошибок пока не нажал "показать полный вывод компилятора" и полный вывод вообще ясный, проблема в том, что его надо все время открывать, целиком читать и это долго. Если бы среда умела в нужных местах кода все показывать нормально, это было бы офигенно удобно. Но подозреваю текст компилер выдает у ошибки "готовый" поди его покажи, только портить.

Sign in to participate in the conversation
MustUdon

I like Twitter, but, Mastodon it is so excited! Feel free to register it is server just for fun! Usefull links https://instances.social https://www.reddit.com/r/Mastodon/comments/yugh2o/some_useful_mastodon_lists/?utm_source=share&utm_medium=web2x&context=3