Alexander
Так там макросы, там особо нечего через docs строить. Интересно что макросы генерят .
Денис
какая разница макросы или нет
Денис
код-то генерируется
Alexander
Ну те глазами понятно вроде и так видно немного, но что-то не склеивается.
Денис
там билд сломан
Денис
это нормально?
Денис
Clark Gaebel o update readme to point to new docs. fuck rust-ci.
Денис
чувак жжот)
Alexander
Эээ, ну я не знаю, но вроде все работает с зависимостями на нём.
Денис
там последний коммит 3 года назад
Денис
что происходит
Alexander
Сорян. Надо другой soa: soa-derive
Денис
фуф
Денис
Денис
Денис
оно ведь нужно?
Денис
cargo doc --open в своём крейте
Alexander
Щас заценю. Спасибо.
Денис
👍
Alexander
Я правильно понимаю что iter() это просто везде функция без трейта?
Alexander
А итератор уже next реализует, а сам iter просто в Iter кладёт всё.
Денис
Iterator — это трейт для объектов
Денис
как функция может что-то реализовывать? :)
Денис
(ну кроме fn(...) -> impl Trait)
Антон
Alexander
Alexander
Сорян за скрин, по почему тут так тогда.
Денис
да, при этом ни что не мешает иметь метод iter() и не реализовывать IntoIterator :)
Денис
(хз что такое Iter)
Alexander
iter() и into_iter() — это методы трейта IntoIterator
iter() тоже? Я думал только into_iter
Денис
сделай доки и не парься
Anton
А где реализация структуры итр?
Anton
cargo expand
Денис
https://doc.rust-lang.org/std/iter/trait.IntoIterator.html
Денис
да нафиг этот cargo expand
Anton
Разворавивает макросы
Денис
cargo doc решает проблемы
Денис
ну и потом копаться в этом развёрнутом коде, искать где что
Anton
Ну видать он не может понять по докам
Anton
Раз продолжает задавать вопросы
Anton
Или просто даже не пробовал
Anton
Тренирует экстрасенсорику у чатлан
Денис
а, это приватный тип
Денис
тогда cargo rustdoc -- --no-defaults --passes "collapse-docs" --passes "unindent-comments"
Денис
Alexander
Ну видать он не может понять по докам
Не, я пока только открываю. Сгенерил, на свой http кладу, который на rocket - не так просто :)
Денис
Денис
подожди, его не надо никуда класть
Денис
cargo doc генерирует статик html
Anton
В броузере открыть слишком просто
Alexander
Он у меня на удаленной машине -
Anton
Мазахист)
Anton
Закопируй себе и ковыряся
Alexander
Ну что поделаешь.
Денис
target/doc/<название-твоего-крейта>/
Alexander
На рабочую не буду. Сейчас себе в http
Денис
копируешь на свою машину и не знаешь горя
Safort
https://habrahabr.ru/post/349248/
Alexander
Денис
python3 -m http.server тоже не вариант?)
Alexander
Не вариант - мы ж Раст - чате - у меня rocket там :) индексы для папок не генерит.
Alexander
Ок, по докам видно что они оба делают intoiterator, но имеют функцию iter, но iterator не реализуют, ясно.
Alexander
http://bbot.online:8080/static/doc/test_lt/index.html
Денис
Iter реализует Iterator
Alexander
Но Iter я могу получить только из iter(), а поскольку SVec и SSlice не имеют общего трейта для этого - то я не могу их вызывать одинаково. Вроде так.
Денис
но ты можешь сделать into_iter(), чем плохо?
Денис
ты хочешь, чтобы у тебя функция принимала и SVec, и SSlice, так?
Денис
кстати отличное имя для структуры — S 👍
Денис
ну это не значит, что нужно страдать :)
Alexander
ты хочешь, чтобы у тебя функция принимала и SVec, и SSlice, так?
Именно. В общем теперь хотя бы ясно что я оба могу только через into_iter дёргать. Но тут почему-то &SVec не мувает его в себя, а SSlice мувает. Но это другая проблема. Хотя бы прошлый вопрос закрыт.
Денис
https://gist.github.com/mexus/e9b70ac9c7b51878c7d00ec37a448a79
Alexander
А вызови несколько раз последнюю.
Alexander
Ещё вопрос: as_slice - это реализует SSlice или просто слайс вектора, что немного другое.
Денис
pub fn as_slice(&self) -> CheeseSlice — то бишь as_slice не консьюмит вектор
Денис
вот так, например, сделать нельзя: let slice = vec.as_slice(); foobar(slice); foobar(slice);
Денис
а вот так — скольно угодно: foobar(vec.as_slice()); foobar(vec.as_slice());