でゲソ
не ставь амперсанд
Timur
тогда и поле в стуктуре придется указывать с размером(
でゲソ
чет я кстати затерялся с объявлением поля. ссылка на элемент лайфтайма а типа u8?
Timur
на слайс типа u8 c лайфтаймом а
Alexander
А тут именно проблема в unsafe? Потому как иначе я бы для val указал lifetime
でゲソ
а границы слайса он как определять должен?
Timur
никак, что положили, то и должен хранить, это ж указатель )
Timur
в идеале туда хотелось бы складывать сериализованные представления разных типов данных
պլհկ
Вот бы ща указатель вернуть на локальную переменную
でゲソ
ну, тогда а чего ж ты хочешь. ему надо чтоб ты значение хранил где-то.
պլհկ
А саму переменную выкинуть
Timur
кажется до меня начинает доходить
պլհկ
byteorder
պլհկ
https://docs.rs/byteorder/1.2.1/byteorder/enum.LittleEndian.html
Alexander
Именно в & или просто в [u8] ?
Alexander
Timur
а transmute чем плох?
Alexander
Да вроде ок, просто не safe
պլհկ
Не портабельно
Bugworm
фотки монитора в 2к18
Alexander
Ещё гугл говорит что у слайса есть from_raw_parts
Timur
Ещё гугл говорит что у слайса есть from_raw_parts
fn new(val: i32) -> Test<'a> { let b = &unsafe{transmute::<i32, [u8; 4]>(val)} as *const u8; let c = Test { value1: unsafe{slice::from_raw_parts(b, 4)} }; c }, заработало, спасибо)
Sergey
Ещё гугл говорит что у слайса есть from_raw_parts
можно же глянуть в doc.rust-lang.org/stable/std
Sergey
нахуя гуглить
պլհկ
https://play.rust-lang.org/?gist=bea04e8ffc7133b03db14a17e13d4967&version=stable
պլհկ
работает отлично!
պլհկ
https://github.com/trezm/Fanta ебанутым нет покоя
Дмитрий
https://github.com/trezm/Fanta ебанутым нет покоя
Я всё думал, стоит ли раст учить. Теперь решение однозначно принято)
Kerrigan
https://github.com/trezm/Fanta ебанутым нет покоя
наконец-то кто-то почесался
Anton
там много бенчей
http://benchmarksgame.alioth.debian.org/
Anton
Этот?
Sergey
спасибо
Нави
reqwest::get().unwrap - это синхронный вариант, а для этого реквеста есть асинхронный?
Anton
unstable
Anton
включи в фичах
Нави
Это значит скора в стабильные переведут, что бы сразу использовать?
Anton
Это значит скора в стабильные переведут, что бы сразу использовать?
он еще с ноября (когда я начал раст ковырятьт) был анстейбл, может быть на новый токио портирует - чтото изменится
Anton
Попробуй на хипере накидать свой клиент, правда врядли ты стабильней сделаешь =)
Anton
ну да, а что?
Маjко
Круто) Ну тип я почти 2 года ковыряю, и мой прогресс помедленнее, кажется
Anton
Ну может с октября, в любом случае ты пероцениваешь =)
Маjко
Я про относительный прогресс х) Я за 3 месяца только borrowck отпинывать научился :D
Anton
а на каком месяце ты прочитал доки? =)
Маjко
Кек Я по ним скакал по разным, сначала rustbyexample, потом книгу Мне на сложных концепциях становилось скучно. Нормально пошло когда проекты начал писать, тупо по книге не эффективно.
Anton
Я так книгу не одну до конца не прочитал, про заиствования, str vs String, справку по Option / Result =) Остальное смотрел как люди пишут =)
Anton
Кто то тут красиво сказал, что расто прогер это тупая обезьяна которая делает что говорит ему компилятор, пишешь код, потом правишь куски где компилятор ругается =)
Маjко
Обезьянка-мазохист
Anton
А почему мазохист?
Маjко
Кому не нравится когда компилятор бьет по рукам?)
Alexey
точнее указывать будет на val, который на стэке
Timur
точнее указывать будет на val, который на стэке
так оно и задумывалось, время жизни val и экземпляра структуры Test одинаково
Timur
Я возможно поздно, но Box<[u8]>
хочется избежать выделения памяти в куче, с другой стороны еще хз как работает from_raw_parts под капотом) Вечером поковыряю еще
Маjко
хочется избежать выделения памяти в куче, с другой стороны еще хз как работает from_raw_parts под капотом) Вечером поковыряю еще
from_raw_parts — ансейф. То что компилятор позволил взять срез с данных на стеке — всего-лишь значит что в ансейфе он тебе доверяет. Этого делать нельзя: разница с изначальным трансмьютом там только в том, что в этом случае компилятору прямо сказано заткнуться и пропустить нарушение memory safety
Маjко
хочется избежать выделения памяти в куче, с другой стороны еще хз как работает from_raw_parts под капотом) Вечером поковыряю еще
Если хочется избежать, используй SmallVec или аналогичную реализацию идеи и копируй туда.
Маjко
Брать срез с памяти на стеке функции без копирования в область с подходящим лайфтаймом — однозначно хреновая затея)
Timur
про SmallVec не слышал. но судя по описанию он здорово сможет помочь, спасибо!
Alexey
так оно и задумывалось, время жизни val и экземпляра структуры Test одинаково
ну Test ты же муваешь из функции со ссылкой на val, который остался на стэке
Alexey
поэтому время жизни у них разное
Нави
https://travis-ci.org/NeoLegends/tokio-request случаем это не стабильный tokio-request ?
Loo
LL(*) парсер с использованием Rust макросов https://habrahabr.ru/post/349054/
Loo
でゲソ
Kostyl-driven development
Промахнулся. Костыль был ниже. А это гомокодинг
Нави
подскажите пожалуйста, правильно прописываю фьючерсы: [dependencies.reqwest] version = "*" features = ["unstable"]
Нави
для унстабильного варианта, то есть для асинхронного
պլհկ
>version = "*" Нашел ошибку
Нави
>version = "*" Нашел ошибку
))) а я все на "*" перевёл, работает)
պլհկ
👍
Нави
одолел я асинхронку) И, вот, интересно, что лучше использовать, нестабильный reqwest или hyper_tls ?
Anton
Учитывая что автор один и то же человек...
Нави
Учитывая что автор один и то же человек...
гы, а то я смотрю, что написание запросов практически одинаково выглядет
Anton
Скажи честно ты читал доки?
Нави
Скажи честно ты читал доки?
Нет почти, там и доков описания чё то не увидел, по примерам кода разбирал
Anton
This module is only available when the unstable feature is enabled. There is no backwards compatibility guarantee for any of the types within.