Removal of makeRef() / makeRefPtr()
Hi, With WebKit adopting C++17 a while back, there are no longer any benefits to using makeRef() / makeRefPtr() as far as I can tell. Code that was written like so: auto protectedThis = makeRef(*this); auto protectedPage = makeRefPtr(page); auto result = makeRef(foo->bar()); auto lambda = [protectedThis = makeRef(*this)] { }; m_node = makeRef(node); // m_node being a Ref<Node> m_node = makeRefPtr(node); // m_node being a RefPtr<Node> Can now be written in a more concise way: Ref protectedThis { *this }; RefPtr protectedPage { page }; Ref result = foo->bar(); auto lambda = [protectedThis = Ref { *this }] { }; m_node = node; `m_node = node;` or `m_node = &node; // depending if node is a reference or pointer. I am currently in the process on transitioning our code from one style to the other and removing makeRef() / makeRefPtr() altogether. I am sending this email so people are not confused when they try to use makeRef() / makeRefPtr() in new code. -- Chris Dumez
participants (1)
-
Chris Dumez