In his cpp con 2019 talk, Chandler Carruth argues that c++ std::unique_ptr is not a truly zero cost (runtime) abstraction: https://www.youtube.com/watch?v=rHIkrotSwcc&t=6s.
I work on an embedded system with a team which refuses to use smart pointers, even std::unique_ptr. The argument made against smart pointers by senior engineers is one about a supposedly inherent runtime overhead.
Despite claiming at cpp con 2019 that std::unique_ptr is not zero cost, Chandler Carruth still insists that it is better to use std::unique_ptr than raw pointers. As Chandler works on a server core, is there some qualification specific to embedded systems which would make Chandler's argument inapplicable to embedded development? Especially in a real time environment (RTOS), are raw pointers necessary?
I can't think of or find a qualification about embedded systems which could qualify anything claimed by Chandler at cpp 2019. Every resources I've consulted over the last few days advises use of smart pointers in embedded development.