Builder pattern: discuss merits of `self` vs `&self` for .build()
Suggest changing finish() to use a self receiver instead of &self.
Why? I think it is sometimes useful to take &self so that the builder can be used as a template for creating multiple, identical objects. (Of course sometimes it is not possible and then one should use self).
I would close this due to inactivity, but perhaps we can use this issue as a suggestion that the Bulder pattern should mention the difference between using &self or self for finish().
Yeah it is probably worth adding some discussion on the relative merits of taking self by value vs by reference in the finish method.
@simonsan
I propose to keep both variants and create separate methods to build-by-value and build-by-reference. We can call them build() and build_ref() for example.