Size: a a a

2018 April 29

м

мухожук in Rust Beginners
это то, что он хочет
источник

м

мухожук in Rust Beginners
о, можно делать ссылки на сообщения: t.me/rustlang_ru/115007
источник

P+

PAM3ES ++ in Rust Beginners
я понял, но мне не понятно почему в сам rust не добавят реализация попроще
источник

P+

PAM3ES ++ in Rust Beginners
тип такого
struct a{
pub aa: i32 = 10,
}
источник

🦉⁣

🦉 ⁣ in Rust Beginners
PAM3ES ++
я понял, но мне не понятно почему в сам rust не добавят реализация попроще
Отправь rfc
источник

🦉⁣

🦉 ⁣ in Rust Beginners
Выглядит неплохо
источник

м

мухожук in Rust Beginners
да, выглядит неплохо, но появляется неоднозначность (и неявность, которую так не любят в коммунити) при создании инстанса

например, как будет выглядеть создание с дефолтными значениями?

SomeType { a: ..., b: ..., /* what about c? */ }
источник

P+

PAM3ES ++ in Rust Beginners
мухожук
да, выглядит неплохо, но появляется неоднозначность (и неявность, которую так не любят в коммунити) при создании инстанса

например, как будет выглядеть создание с дефолтными значениями?

SomeType { a: ..., b: ..., /* what about c? */ }
неявностью по той причине что все должно быть инициализировано вручную?
источник

ML

Mike Lubinets in Rust Beginners
мухожук
да, выглядит неплохо, но появляется неоднозначность (и неявность, которую так не любят в коммунити) при создании инстанса

например, как будет выглядеть создание с дефолтными значениями?

SomeType { a: ..., b: ..., /* what about c? */ }
what about c явно описано в реализации Default
источник

м

мухожук in Rust Beginners
потому что сейчас инициализация полей инстанса происходит явно: либо через указание всех полей и ихзначений, либо через частичную замену значений (в том числе и ..Default::default())
источник

м

мухожук in Rust Beginners
Mike Lubinets
what about c явно описано в реализации Default
ну т.е. всё равно придётся писать A { ..Default::default() }?
источник

ML

Mike Lubinets in Rust Beginners
Так же можно ЕМНИП сделать с любым экспрешном, который выплевывает структуру, часть полей от туда возьмется
источник

ML

Mike Lubinets in Rust Beginners
мухожук
ну т.е. всё равно придётся писать A { ..Default::default() }?
Да
источник

м

мухожук in Rust Beginners
ну ок..
источник

м

мухожук in Rust Beginners
тогда будет pub a: isize = 0 только ради красоты
источник

ML

Mike Lubinets in Rust Beginners
???
источник

ML

Mike Lubinets in Rust Beginners
Вижу
источник

P+

PAM3ES ++ in Rust Beginners
struct general {
number: i32,
number2: i32 = 25,
}

impl general {
  fn one(&mut self) {
   self.number2 = self.number2 + 1;
  }
}

fn main() {
let mut object = general{number: 23, ..};
}
источник

P+

PAM3ES ++ in Rust Beginners
например
источник

ML

Mike Lubinets in Rust Beginners
Вообще да, выглядит не плохо
Но там всё не так просто.
Это по сути partial Default implementation же.

То есть надо будет лезть довольно глубоко
источник