As the title says. Reproducer sketch: ```c++ #include <Ethernet.h> // -------------------------------------------------------------------------------- // remove_reference template<typename T> struct remove_reference { typedef T type; }; template<typename T> struct remove_reference<T &> { typedef T type; }; template<typename T> struct remove_reference<T &&> { typedef T type; }; #define MOVE(...) \ static_cast<typename remove_reference<decltype(__VA_ARGS__)>::type &&>( \ __VA_ARGS__) void setup() { EthernetClient ec = {}; EthernetClient ec2{ MOVE(ec) }; // Crashes the board } void loop() {} ```