Vladimir
может кто-то кинуть код, на либу для раста, для парсинга кода раста. Использование которой заключалось в написании кода похожего на синтаксис rust
պլհկ
http://seanmonstar.com/post/172531530657/http-upgrades-with-hyper воу воу
Kerrigan
kitsu
Посоны, объясните где накосячил: https://gist.github.com/l4l/6054860dfca071c138a22358c894aecf
kitsu
вот мне казалось, что это 2 одинаковые функции
kitsu
но вторая почему-то не работает
kitsu
во вторую передавал массивчики, вроде [0_u8; 123]
պլհկ
эм
պլհկ
ставлю на сайзоф
պլհկ
хотя не
kitsu
вообще судя по сишному коду там какие-то левые данные
պլհկ
а чо не сделать msg.as_ptr() ?
kitsu
вот думал мб зацепилось в начале длина как-то
Great
Лишний амперсанд в Mem::transmute аргументах?
kitsu
а чо не сделать msg.as_ptr() ?
я не знал, что у массива есть такая функция)00
պլհկ
зачем трансмутить?
kitsu
ну и там тип неизвестный
Vladimir
мне кажется дело в T
kitsu
Лишний амперсанд в Mem::transmute аргументах?
мм, хорошая мысль, сейчас проверю
Vladimir
он может дерефнулся в слайс &[] какой-то
պլհկ
во-во
պլհկ
а чо ring не заюзал для ed25519?
kitsu
мм, хорошая мысль, сейчас проверю
source type: T (this type's size can vary) что-то странное
պլհկ
попробуй as_ptr
kitsu
попробуй as_ptr
а какой там трейт для него?
պլհկ
&array.as_ptr() ?
Vladimir
залей куда-то на плейграундс код
պլհկ
https://doc.rust-lang.org/std/primitive.slice.html#method.as_ptr
պլհկ
на слайсе есть этот метод
kitsu
залей куда-то на плейграундс код
там шаред либа, без нее не зайдет
Vladimir
сделай этот метод унимлиментед
Vladimir
main короче скинь
Vladimir
кстати
Vladimir
почему трансмьют не заменишь на какой-то такой код msg as *const T as *const u8 ,
Vladimir
поидее ж можно?
kitsu
main короче скинь
тесты есть, могу их в мейн пихнуть
պլհկ
fn sign<T: Sized>(msg: &[T], k: &Keypair) -> [u8; SIGNAT_SIZE] { let mut sign = [0 as u8; SIGNAT_SIZE]; unsafe { ed25519_sign( sign.as_mut_ptr(), msg.as_ptr() as *const u8, mem::size_of::<T>() * msg.len() as c_ulonglong, &k.pk as *const u8, &k.sk as *const u8, ); } sign }
պլհկ
чо так не сделать?
Vladimir
чо так не сделать?
я думаю он хочет уметь подписывать говно типа struct NewType{...} а не только массивы
պլհկ
будет классно, когда новую оптимизацию лэйаута завезут в следующей версии компилятора, и все подписи пойдут по пизде
Vladimir
layout структур не определен без repr(C)
а layout массива структур определен?) ясное дело что эт ансейф херня
kitsu
main короче скинь
https://play.rust-lang.org/?gist=429881c3829476a7e5a19d791f1fb9cb&version=stable
պլհկ
https://docs.rs/ring/0.13.0-alpha/ring/?search=ed25519
kitsu
в общем остановлюсь на варианте с вектором
Vladimir
ну как минимум
Vladimir
у тебя там T = & Vec<u8>
պլհկ
не понял, зачем вектор, если на слайсе все работает
kitsu
так не заработало же
Vladimir
+
Vladimir
msg: &[u8]
Vladimir
вот так не работает?
kitsu
окей, а в чем косяк с трансмьютом? он ведь по сути тоже самое должен делать, разве нет?
kitsu
нене
kitsu
во вторую передавал массивчики, вроде [0_u8; 123]
Vladimir
ну в мейне было не так
kitsu
а, косячно скопировал да
Vladimir
попробуй заменить абстрактный T на явный [0_u8; 123]
Vladimir
и тогда отлаживай свой трансмьют
kitsu
bindgen-у можно как-нибудь указать, параметры компиляции? (вроде -I)
kitsu
https://github.com/bsteinb/rsmpi/issues/1#issuecomment-288521215 ну, если кому будет нужно
kitsu
https://docs.rs/bindgen/0.35.0/bindgen/struct.Builder.html#method.clang_arg о, еще вот такая штука есть
Dårk
@vlad20012 я может очень не по адресу, но куда в IntelliJ 2018.1 дели Ctrl-` | View Mode | Full screen ?
Dårk
в гугле этот вопрос забанили
Bugworm
у меня вообще растоплагин отвалился после обновы
Bugworm
мне бы твои проблемы
Dårk
только порадовался новым нескучным обоям 😕
Sergey
@tapok_satan ты вот это не юзал случайно? https://github.com/Boscop/web-view
Anton
@tapok_satan ты вот это не юзал случайно? https://github.com/Boscop/web-view
смотрел, но мне подход с чистым вебвью вообще не вкатывает
Anton
только чистая отрисовка, только хардкор
ㅤ
http://colinm.org/language_checklist.html заполните для раста плес
Денис
TL;DR
ㅤ
>[ ] The name of your language makes it impossible to find on Google Чек
Денис