Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
Kai Ren
@tyranron
Помоему почти все требуют seccomp=unconfined если через Docker
А у меня GitLab CI + Kubernetes.
Прокинуть эту опцию пока никак, все конфиги вынюхал уже.
Плюс половина готовых образов тупо не собирается, так как не следует за релизами официальных Rust-образом (камень в сторону taurpalin, ага).
Roman
@kpp
А, гитлааааб. Не, не знаю как это сделать красиво да интегрировать с другими сервисами. А seccomp=unconfined - бида, да. на трависе приходится иногда с sudo танцевать.
Если у тебя получится сделать, отпишись, пожалуйста. Мы сделали через gitlab runners + cargo coverage и сохраняем покрытие как артефакт сборки, но это буэ.
Kai Ren
@tyranron
Как-то я даже чуть приуныл, так как на другиях языках вроде все заводится, пусть местами и кривовать, а тут как-то аж в тупике. Причем первый подход делал в конце весны, в результате забил и решил подождать. Но ничего не распогодилось пока, увы.
Psilon
@Pzixel
никогда не занимался такими подсчетами
это же гадание на кофейной гуще хз
Andrey Lesnikóv
@ozkriff

https://rustycrate.ru/новости/2018/12/10/parity-meetup.html

В грядущее воскресенье (16 декабря) Parity Technologes организует митап в Москве, приуроченный к конференции RustRush.
От команды Parity на RustRush приезжает с десяток человек; на митапе Пьер Кригер (@tomaka) будет рассказывать про rust-libp2p, а Джек Френшем (@Vurich) — про Parity Substrate. Доклады будут на английском, но мы поможем с переводом, если вам будет проще формулировать вопросы по-русски.
Митап пройдёт в помещении коворкинга «Ключ Трёхгорка» по адресу: Рочдельская 15, стр. 17–18, 3 этаж (ближайшее метро — «Улица 1095 года»). Начало — в 18:00.
Вход бесплатный, но надо заранее зарегистрироваться на странице митапа, чтобы мы знали на сколько человек готовить зал и заказывать еду и напитки.
Записывайтесь и приходите!

Можно пинговать @kirushik с вопросами :)

DimaS
@tends
Ребят, как вы тут ориентируетесь, открываю с айфона, а тут все льется одним потоком, даже не подсвечено что прочитано а что нет, откуда начинать читать? После слака совсем капец этот житер.
Psilon
@Pzixel
о, клево
надо будет посетить
@tends да вроде все подсвечивается
хотя люди на мобильные клинеты жаловались, что они каловые
тем более на айос могут быть свои проблемы
Andrey Lesnikóv
@ozkriff
Я в москву только на субботу еду, так что пролетаю :(
Roman
@kpp
Спасибо
Nickolay
@nnovikov
а в rust можон сравнивать 2 вектора просто как if a != b ?
Nickolay
@nnovikov
а если там будут ссылки на вектора?
раст умный и сравнит содержимое?
sobaka_v_kepke
@chabapok_twitter
скорей всего, оно сравнивает, если элементы вектора реализуют PartialEq
Alexander Irbis
@alexander-irbis
@nnovikov дело не в Rust, дело в том, как реализован вектор. Можно просто посмотреть исходники.
Dmitry Kashitsyn
@0x7CFE
Если кто не в курсе, в Rayon впилили адаптер который позволяет использовать любой итератор в параллельном контексте
Подвох в том, что порядок следования элементов в таком случае не гарантирован
Но зато теперь появилась возможность обрабатывать любые итераторы включая IO, например:
file.lines().par_bridge().for_each(|line| …)
Денис Котляров
@denisandroid

вопрос)

Как можно правильно провернуть следующее...

Если Option равен Some, то переместить значение Some в локаль, а сам Option значение заменить на None!

пока лезут лишь

if let Some(_) = active_section {
          let option_result = std::mem::replace(&mut active_section, None).unwrap();
          //FIX ME!!!
          result_array.push(option_result);
}
Dmitry Kashitsyn
@0x7CFE
метод take
Денис Котляров
@denisandroid
take вернет Option<T>, а мне надо именно T . да и делает он практически тоже самое что и я.. тоест не очень хорошо)
Dmitry Kashitsyn
@0x7CFE
э… что значит не очень хорошо? у тебя есть два контракта. один — вытащить значение, каким бы оно ни было, заменив его на None. второй — сослаться на содержиомое Option
Денис Котляров
@denisandroid
а потом делать unwrap, тоесть два сравнения
Dmitry Kashitsyn
@0x7CFE
первое это take, второе решается через if let, match или unwrap на худой конец
причем здесь сравнения? это вопрос логики программы
ты по моему не понял
if let Some(x) = active_section.take() {
    // ...
}
Dmitry Kashitsyn
@0x7CFE
https://www.youtube.com/watch?v=AI7SLCubTnk отличные доклады про растеризацию шрифтов на GPU и про когерентность в rust из первых рук от самого Лодочника
Psilon
@Pzixel

@denisandroid

if active_section.is_some() {
          let option_result = active_section.take().unwrap();
          result_array.push(option_result);
}

?

Denis Lisov
@tanriol
@Pzixel Это пример чего именно?
Psilon
@Pzixel
А, ну в принципе да
выше проще написано
Nickolay
@nnovikov
а есть какие-нибудь полезные тулзы для ведения changelog'а ? Посоветуйте кто чем пользуется
Dmitry Kashitsyn
@0x7CFE
вести нормальную историю коммитов в репозитории и расставлять тэги релизов
а потом из git log получаешь нормальный ченжлог
Alik Kurdyukov
@akurdyukov
у меня аналогично, но по git log вынимаются ссылки на Jira, скрипт по jira составляет читаемый лог
Roman
@kpp
Кстати, да. Я бы сам хотел тулзу
А есть ISO на формат Changelog'а?