История изменений
Исправление AntonyRF, (текущая версия) :
Но он невозможен, потому что в расте нельзя иметь переменную с пустым именем. Придётся использовать хотя бы одну букву, например a (сокращение от alias).
Вами приведённый код не корректный, его не пропустит компилятор
{
let a = &mut foo.bar.baz; // <= Тут проблема
a.waldo=1;
a.fred=3.0;
a.do_something();
}
Корректный такой:
{
let a = &mut Foo {
waldo: 1,
fred: 3.0,
};
a.do_something();
}
И кмк, он проще примера с with ;)
Исходная версия AntonyRF, :
Но он невозможен, потому что в расте нельзя иметь переменную с пустым именем. Придётся использовать хотя бы одну букву, например a (сокращение от alias).
Вами приведённый код не корректный, его не пропустит компилятор
{
let a = &mut foo.bar.baz; // <= Тут проблема
a.waldo=1;
a.fred=3.0;
a.do_something();
}
Корректный такой:
{
let a = &mut Foo {
waldo: 1,
fred: 3.0,
};
a.do_something();
}
И кмк, он проще Вашего с with ;)