Open
Description
As the title says. Reproducer sketch:
#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() {}
Metadata
Metadata
Assignees
Labels
No labels