On 14-11-22, 11:29, Bartosz Golaszewski wrote: > Ah, I missed that, my bad. > > Would it also work in non-mutable way like > > let lsettings = line::Settings::new.set_direction(Direction::Output)?; No, since set_direction() expects a reference instead of the object itself. So currently we need to do Settings::new() in a separate statement and so mutable is required too. But then we don't need a build() routine to covert to lsettings here. -- viresh