From d6a634586001b3bf5bc846e0c635bca9e921915a Mon Sep 17 00:00:00 2001 From: Pratik Chowdhury Date: Tue, 5 Feb 2019 22:42:57 +0530 Subject: [PATCH] Changed operator bool to explicit rather than implicit conversion in Serial --- cores/arduino/Client.h | 2 +- cores/arduino/HardwareSerial.h | 2 +- cores/arduino/USBAPI.h | 2 +- libraries/SoftwareSerial/src/SoftwareSerial.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cores/arduino/Client.h b/cores/arduino/Client.h index b8e5d935f..e3acaab6d 100644 --- a/cores/arduino/Client.h +++ b/cores/arduino/Client.h @@ -37,7 +37,7 @@ class Client : public Stream { virtual void flush() = 0; virtual void stop() = 0; virtual uint8_t connected() = 0; - virtual operator bool() = 0; + virtual explicit operator bool() = 0; protected: uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); }; }; diff --git a/cores/arduino/HardwareSerial.h b/cores/arduino/HardwareSerial.h index 17000c2cc..210499f68 100644 --- a/cores/arduino/HardwareSerial.h +++ b/cores/arduino/HardwareSerial.h @@ -132,7 +132,7 @@ class HardwareSerial : public Stream inline size_t write(unsigned int n) { return write((uint8_t)n); } inline size_t write(int n) { return write((uint8_t)n); } using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool() { return true; } + explicit constexpr operator bool() { return true; } // Interrupt handlers - Not intended to be called externally inline void _rx_complete_irq(void); diff --git a/cores/arduino/USBAPI.h b/cores/arduino/USBAPI.h index 701a14f78..66314d7ba 100644 --- a/cores/arduino/USBAPI.h +++ b/cores/arduino/USBAPI.h @@ -105,7 +105,7 @@ class Serial_ : public Stream virtual size_t write(uint8_t); virtual size_t write(const uint8_t*, size_t); using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool(); + explicit operator bool(); volatile uint8_t _rx_buffer_head; volatile uint8_t _rx_buffer_tail; diff --git a/libraries/SoftwareSerial/src/SoftwareSerial.h b/libraries/SoftwareSerial/src/SoftwareSerial.h index b1a37c4ad..e10a82a5d 100644 --- a/libraries/SoftwareSerial/src/SoftwareSerial.h +++ b/libraries/SoftwareSerial/src/SoftwareSerial.h @@ -103,7 +103,7 @@ class SoftwareSerial : public Stream virtual int read(); virtual int available(); virtual void flush(); - operator bool() { return true; } + explicit constexpr operator bool() { return true; } using Print::write;