https://cs.chromium.org/search/?q=linked_ptr.*release&sq=package:chromium&type=cs shows a bunch of places where ownership is passed from an unique_ptr to a linked_ptr, eg. like this code from event_router.cc
void EventRouter::BroadcastEvent(std::unique_ptr<Event> event) {
DispatchEventImpl(std::string(), linked_ptr<Event>(event.release()));
}
Calling release() should always be a red flag, instead, I'd like to write
void EventRouter::BroadcastEvent(std::unique_ptr<Event> event) {
DispatchEventImpl(std::string(), linked_ptr<Event>(std::move(event)));
}
Comment 1 by tsepez@chromium.org
, Mar 15 2018