On Wed, Apr 27, 2016 at 8:02 PM, Ehsan Akhgari <[email protected]> wrote:
> Hmm, OK, this is a good example. :-) > > Even though Xidorn's suggestion may work in some cases, I can imagine > that in other cases you wouldn't want the caller to have to know the > preconditions of calling TakeMedia. > > I don't really think it's a good example. TakeMediaIfKnown is accepting a UniquePtr<MediaFile> as an inout parameter: it uses, and may modify, its value. It should take UniquePtr<MediaFile> &. UniquePtr.h disagrees with me: * ... To conditionally transfer * ownership of a resource into a method, should the method want it, use a * |UniquePtr&&| argument. It looks to me as if C++'s version of move semantics is a spiffy solution to some gnarly problems with containers, but Rust shows that there's something much more fundamental going on with moves, which C++'s version doesn't capture very well. _______________________________________________ dev-platform mailing list [email protected] https://lists.mozilla.org/listinfo/dev-platform

