Алексей
из беларуси кто нибудь есть ?
Alex
а шо
Anton
2 часа ночи
Anton
я пытаюсь понять как писать парсер на oak
Anton
господи, спаси
Судзумия
пиши на сосне
Anton
Loo
Anton
Это шутка Антон
я еще не отошел от эффектов попыток разобратся с созданием парсера, чтобы понять шутки
Loo
Anton
о других я просто не знаю, поэтому решил уже изучить oak
Anton
начал не так давно, в основном присматриваюсь к api,как обрабатывается грамматика и тд
Anton
к тому же я смотрю на библиотеки у которых есть понятные гайды
Anton
я никогда парсеры не писал, и даже не представляю с чего начать
Anton
а у oak есть отличный на мой вгляд гайдлайн с примером, где есть полный ast парсинг, включающим в том числе замыкания
Anton
К тому же сейчас глянул pest, документация от слова "нихуя нет но вы держитесь"
Anton
Также посмотрел handlebars-rust сорцы с обработкой грамматики
Anton
синтаксис у handlebars довольно простой, по сути он использует почти идентичную модель шаблонов как и у wiki. И там ад
Anton
в одном только описании грамматики - 100 с хером строк абсолютной нихуяшеньки не понятной магии
Anton
бля, короче, все в пизду
Anton
оставлю это говно на завтра
Anton
Anton
Я тыщу раз писал
Алексей
хз, извиняюсь конечно, но я в этой тираде прочел на чём пишите, но не что именно парсить собрались
Алексей
передо мной так же стоит задача написания парсера, поэтому и интересно к чему ваш опыт относится
Anton
Wiki-code
Алексей
всё... вспомнил вас :)
Anton
Я же и так писал выше что вики парсер делаю)))
Алексей
пару дней назад ) уже вспомнил
Алексей
итого выбор пал на OAK ?
Маjко
Придется привязаться в конкретному интерфейсу, а так -- никаких проблем
Маjко
Можно и не как объект, можно как статический генерик
Маjко
Покажи в чем проблема
Маjко
Надо в Box завернуть или принимать ссылку с лайфтаймом
Маjко
В книге о трейтобъектах написано всё
Маjко
Их нельзя хранить как объекты, только ссылками или в умных указателях
Маjко
Это по сути референс на vtable
Маjко
Если это возможно -- лучше так, конечно. Трейтобджекты это рантайм, если есть возможность обойтись без них -- стоит обойтись без них
Маjко
С первого взгляда не вижу, утром попробую собрать, когда у ноута буду
Маjко
Ааа
Маjко
Это интересная херня
Маjко
Я сам не знаю как разрулить
Маjко
Ждем более опытных растеров)
Маjко
Почему он ждет ссылок, кстати
Маjко
Попробуй сделать так, чтобы в expected был Owned Arc
Маjко
Зачем инвокать Arc::clone?
Маjко
Просто .clone()
Маjко
Забавно, надо будет прошерстить гайдлайны снова, многое видать поменялось
adam
https://groupoid.space/lc/intro/
Маjко
В этом есть логика, в общем то
Sherzod
Отдыхал?
Safort
Маjко
К срачу о тестах @tapok_satan
Маjко
2 юнит-теста, 0 интеграционных
andrei
Vlad
@goodmind видел ответ? :) https://discourse.pijul.org/t/does-pijul-have-logotype/98/2
andrei
а, да
andrei
кто нарисует?
Alex
ну маскот у них уже в названии заложен
https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Crotophaga_sulcirostris.jpg/360px-Crotophaga_sulcirostris.jpg
Alex
можно загнать в какую нибудь из новомодных нейронок, пусть сделает из этого рисунок :)
Anonymous
https://www.google.com/search?tbm=isch&q=generic+bird+logo
Vlad
https://i.pinimg.com/originals/49/9f/3e/499f3eeed414e8ec566557696fc8bc7f.jpg
Alex
не тот отряд :) пихуль из кукушкообразных
Vlad
Anonymous
можно ли через rustc имея код экспанднуть все лайфтаймы в нем?
Anonymous
или через другую утилиту
adam
В каком смысле экспанднуть лайфтайм
Anonymous
ну добавить их везде где они по-дефолту elided
adam
а нужно ли
Alexander
Этот вопрос уже решился?
Tuntz
через UFCS нет
Alexander
Ок, в общем, как воспроизвести проблему? А то в текущем виде оно собирается успешно 😊
Alexander
И в принципе нужно ли ещё? 😊
Tuntz
интерес скорее праздный, потому что только линтер ругается и всё 😊
чтобы воспроизвести надо заменить .clone() на Arc::clone() по адресу lib.rs:725 (текущий срез на гитхабе)
Маjко
Alexander
Сам хотел это посоветовать, но нет, таки не так всё просто
725 | app_channel: Some(Arc::clone(&app_channel as &Arc<AppChannel>)),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait