Cat
т.е. та же сериализация
Αλεχ
просто нахера бд тогда ваще
Αλεχ
сериализуй массив хэшсетов и делов
Cat
Αλεχ
в файлик
Αλεχ
mystorage.json
Αλεχ
очень удобно
Судзумия
можно
Cat
очень удобно
да-да, очень удобно делать шардинг
file.split_by( length / number_of_finstances)
Судзумия
зачем тебе шардинг для свалки
Αλεχ
Αλεχ
плюс да
Αλεχ
по свалке нельзя искать
պլհկ
Cat
отвечаешь?
Денис
Вместо того, чтобы честно сказать "не шарим, ничем помочь не можем", начинается "не нужно") вы б хоть гугланули, ну
պլհկ
@LooMaclin обоснуй пацанам за lmdb + bincode
Loo
Loo
а вот REPR C
Loo
НЕ ХУЙНЯ
Cat
посеба, попробую
Loo
https://docs.rs/safe-transmute/0.8.0/safe_transmute/fn.guarded_transmute_to_bytes.html
Loo
^ финк абаут ит
Маjко
Маjко
Суки, поломали гипер(((
Berkus
Berkus
и без схемы потом все равно фиг валидируешь что все мигрировало как надо
Αλεχ
Αλεχ
оно даже может работать, пока поля просто добавляются
Αλεχ
но видимо он не будет никаких иерархий менять
Cat
Cat
Cat
иерархия плоская и на 99% такой и останется
Berkus
тогда постгрес с jsonb отлично будет работать
պլհկ
Cat
спасибо
Αλεχ
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Image<T: serde::Serialize + serde::Deserialize> {
bytes: Vec<u8>,
metadata: T
}
Αλεχ
не работать
Αλεχ
я хочу сделать Image сериализуемым, который состоит из bytes и какой-то сериализуемой метадаты
Αλεχ
как записать?
Ilya
DeserializeOwned попробуй
Ilya
вообще ошибка то какая?
Αλεχ
Compiling imagedb v0.1.0 (file:///C:/Users/Alex/Documents/Rust/boyan_detector_bot/imagedb)
error[E0106]: missing lifetime specifier
--> src\lib.rs:13:40
|
13 | pub struct Image<T: serde::Serialize + serde::Deserialize> {
| ^^^^^^^^^^^^^^^^^^ expected lifetime parameter
error[E0106]: missing lifetime specifier
--> src\lib.rs:12:35
|
12 | #[derive(Debug, Clone, Serialize, Deserialize)]
| ^^^^^^^^^^^ expected lifetime parameter
Αλεχ
ваще я предполагаю, что данные будут владеться структуркой
Αλεχ
так-то я примерно так и пишу
Alexey
А где крабик
Αλεχ
https://github.com/serde-rs/serde/issues/964 походу вот
Kerrigan
Sergey
Αλεχ
Αλεχ
error[E0283]: type annotations required: cannot resolve `T: serde::Deserialize<'de>`
--> src\lib.rs:12:35
|
12 | #[derive(Debug, Clone, Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= note: required by `serde::Deserialize`
Sergey
Αλεχ
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Image<T: Clone + serde::Serialize + serde::de::DeserializeOwned> {
bytes: Vec<u8>,
metadata: T
}
Sergey
Sergey
Αλεχ
хм
Αλεχ
чет внезапно. Ладно, спасибо
Vladimir
Что за пиздец с неймингом?
Sergey
Αλεχ
Еще такой вопрос
Αλεχ
#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash)]
pub enum ImageVariant<T: Clone> {
New,
AlreadyExists(T)
}
Αλεχ
пытаюсь сравнить на new - хер
Sergey
как сравниваешь?
Αλεχ
error[E0369]: binary operation `==` cannot be applied to type `imagedb::ImageVariant<imagedb::Image<&str>>`
--> tests\test.rs:18:5
|
18 | assert_eq!(result, imagedb::ImageVariant::New);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: an implementation of `std::cmp::PartialEq` might be missing for `imagedb::ImageVariant<imagedb::Image<&str>>`
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
Αλεχ
есть вариант не лепить метод is_new() ?
Sergey
Sergey
что PartialEq не имплементирован для ImageVariant<Image<&str>>
Αλεχ
что пишет? Что макрос не развернул, я понял
Αλεχ
Ну короч надо елпить метод
Αλεχ
ладно, спасибо)
Sergey
эээ
Sergey
дерайв PartialEq не факт что лезет внутрь
Sergey
напиши
T: Clone + PartialEq + Eq
Αλεχ
Да не, я не хочу такие ограничения на тип внутри
Sergey
ну тогда имплементируй руками PartialEq