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
ну и там тип неизвестный
Vladimir
мне кажется дело в T
kitsu
Vladimir
он может дерефнулся в слайс &[] какой-то
պլհկ
во-во
պլհկ
а чо ring не заюзал для ed25519?
պլհկ
попробуй as_ptr
kitsu
պլհկ
&array.as_ptr() ?
Vladimir
залей куда-то на плейграундс код
պլհկ
https://doc.rust-lang.org/std/primitive.slice.html#method.as_ptr
պլհկ
на слайсе есть этот метод
Vladimir
сделай этот метод унимлиментед
Vladimir
main короче скинь
Vladimir
кстати
Vladimir
почему трансмьют не заменишь на какой-то такой код
msg as *const T as *const u8 ,
Vladimir
поидее ж можно?
պլհկ
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
պլհկ
պլհկ
будет классно, когда новую оптимизацию лэйаута завезут в следующей версии компилятора, и все подписи пойдут по пизде
kitsu
main короче скинь
https://play.rust-lang.org/?gist=429881c3829476a7e5a19d791f1fb9cb&version=stable
պլհկ
https://docs.rs/ring/0.13.0-alpha/ring/?search=ed25519
kitsu
в общем остановлюсь на варианте с вектором
kitsu
Vladimir
ну как минимум
Vladimir
у тебя там T = & Vec<u8>
պլհկ
не понял, зачем вектор, если на слайсе все работает
kitsu
так не заработало же
Vladimir
+
Vladimir
msg: &[u8]
Vladimir
вот так не работает?
kitsu
kitsu
окей, а в чем косяк с трансмьютом? он ведь по сути тоже самое должен делать, разве нет?
Vladimir
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
Anton
только чистая отрисовка, только хардкор
Vlad
ㅤ
http://colinm.org/language_checklist.html заполните для раста плес
Денис
TL;DR
ㅤ
>[ ] The name of your language makes it impossible to find on Google
Чек
Денис