Size: a a a

Kotlin Community

2020 September 04

AM

Andrew Mikhaylov in Kotlin Community
Мне кажется, внешне должна быть возможность воздействовать только на внешний код, на манер external annotations.
источник

с#

саша сок #KotlinGang... in Kotlin Community
Andrew Mikhaylov
Идея включать это флагами для отдельных частей кода звучит ещё менее хорошей.
ну а какой-нибудь
@file:Suspend()
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
Идея включать это флагами для отдельных частей кода звучит ещё менее хорошей.
Ну я бы сказал, что это можно делать скоупами, но не понятно, как делать скоупы на топ левелы. Вообще, что-то такое точно будет, хотя бы потому что оно нужно для скриптинга. Нужно уметь маркировать имплисит ресиверы внутри файла. Почему бы не маркировать и штуки типа allOpen/allSuspend. Внутри файла, разумеется.
источник

AM

Andrew Mikhaylov in Kotlin Community
саша сок #KotlinGang
ну а какой-нибудь
@file:Suspend()
Ну это уже не внешнее, хотя аннотация саспенд там, где есть ключевое слово, звучит странненько :)
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
ну а какой-нибудь
@file:Suspend()
Ну да, что-то такое. Я правда по прежнему не вижу в этом смысла
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexander Nozik
Ну я бы сказал, что это можно делать скоупами, но не понятно, как делать скоупы на топ левелы. Вообще, что-то такое точно будет, хотя бы потому что оно нужно для скриптинга. Нужно уметь маркировать имплисит ресиверы внутри файла. Почему бы не маркировать и штуки типа allOpen/allSuspend. Внутри файла, разумеется.
Скриптинг -- другое дело, скрипты по определению выполняются во внешнем настраиваемом контексте.
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
Скриптинг -- другое дело, скрипты по определению выполняются во внешнем настраиваемом контексте.
Ну так там смысл в том, что надо внутри файла иметь маркеры о том, какой контекст будет. То есть нужна машинерия для того, чтобы помечать, что все функции в файле будут с дополнительным ресивером. suspend - это по сути то же самое, только с дополнительным параметром.
источник

AN

Alexander Nozik in Kotlin Community
Вообще, это близко к тому, что я писал тут: https://github.com/Kotlin/KEEP/issues/209
источник

с#

саша сок #KotlinGang... in Kotlin Community
лол, извиняюсь за такой "скрин", у меня в телегу не заходит на пк

можно ли как-то этот коммит выпилить со всеми его изменениями ?
источник

PE

Pavel Erokhin in Kotlin Community
пкм -> revert commit
источник

PE

Pavel Erokhin in Kotlin Community
либо перед ним коммит выбираешь и сбрасываешь ветку до него
источник

ПГ

Павло Гриник... in Kotlin Community
Еще можно сделать интерактивный ребейс с дропом ненужного коммита
источник

с#

саша сок #KotlinGang... in Kotlin Community
я уже сделал спасибо
источник

с#

саша сок #KotlinGang... in Kotlin Community
Pavel Erokhin
пкм -> revert commit
просто не был уверен, что реверт будет норм работать на коммит в середине
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Alexander Nozik
Я кстати не согласен с тем, что весь код становится suspend. В логике приложения - возможно. Но в библиотеке точно нет. В библиотеке suspend - это наоборот хороший маркер того, что имеет место длительное выполнение. Возможно можно включить какие-то флаги, которые определенные файлы сразу размечают полностью как suspend, но идея делать это поведением по-умолчанию мне кажется не очень.
Зависит от библиотеки. Во fuel это просто маркер поддержки асинхронности. В kotest это маркер поддержки параллельности
источник

AN

Alexander Nozik in Kotlin Community
Паша Финкельштейн
Зависит от библиотеки. Во fuel это просто маркер поддержки асинхронности. В kotest это маркер поддержки параллельности
Ну я к тому, что далеко не все функции суспендные
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Alexander Nozik
Ну я к тому, что далеко не все функции суспендные
Во fuel практически все, нет?
источник

AN

Alexander Nozik in Kotlin Community
Паша Финкельштейн
Во fuel практически все, нет?
Понятия не имею, оно совершенно мимо меня. В моих либах только маленькая часть методов suspend.
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Alexander Nozik
Понятия не имею, оно совершенно мимо меня. В моих либах только маленькая часть методов suspend.
Ну ты посмотри ради интереса. Это http-экосистема целая. Там всё на суспендах и тайпалиасах :)
источник

AN

Alexander Nozik in Kotlin Community
Паша Финкельштейн
Ну ты посмотри ради интереса. Это http-экосистема целая. Там всё на суспендах и тайпалиасах :)
Ну вот для этого может быть актуально то, о чем Руслан говорит.
источник