Skip to content

Misc - Stream::read & Print::write virtual methods shadowing - #9335

Merged
mcspr merged 2 commits into
esp8266:masterfrom
mcspr:virtual-shadows
Nov 5, 2026
Merged

mcspr merged 2 commits into
esp8266:masterfrom
mcspr:virtual-shadows

Conversation

@mcspr

@mcspr mcspr commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator
cores/esp8266/Stream.h:120:21: warning: 'virtual int Stream::read(uint8_t*, size_t)' was hidden [-Woverloaded-virtual=]
  120 |         virtual int read (uint8_t* buffer, size_t len);
      |                     ^~~~
In file included from libraries/I2S/examples/SimpleTone/SimpleTone.ino:11:
libraries/I2S/src/I2S.h:58:7: note:   by 'I2SClass::read'
   58 |   int read(void* buffer, size_t size);
      |       ^~~~
libraries/ESP8266WiFi/src/WiFiClient.h:71:18: warning: 'virtual size_t WiFiClient::write(uint8_t)' was hidden [-Woverloaded-virtual=]
   71 |   virtual size_t write(uint8_t) override;
      |                  ^~~~~
In file included from libraries/ESP8266WiFi/src/WiFiClientSecure.h:23,
                 from libraries/ESP8266WiFi/src/WiFiServerSecure.h:20,
                 from libraries/ESP8266WiFi/src/ESP8266WiFi.h:41:
libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.h:56:12: note:   by 'BearSSL::WiFiClientSecureCtx::write'
   56 |     size_t write(Stream& stream); // Note this is not virtual
      |            ^~~~~

implement write(u8) & correctly chain the other ones
declarations clean-up plus c++-style casts for these specific call sites

mcspr added 2 commits November 5, 2026 13:02
> In file included from cores/esp8266/HardwareSerial.h:32,
>                  from cores/esp8266/Arduino.h:303,
>                  from /tmp/tmp.rNXlUuH9fi/build/sketch/SimpleTone.ino.cpp:1:
> cores/esp8266/Stream.h:120:21: warning: 'virtual int Stream::read(uint8_t*, size_t)' was hidden [-Woverloaded-virtual=]
>   120 |         virtual int read (uint8_t* buffer, size_t len);
>       |                     ^~~~
> In file included from libraries/I2S/examples/SimpleTone/SimpleTone.ino:11:
> libraries/I2S/src/I2S.h:58:7: note:   by 'I2SClass::read'
>    58 |   int read(void* buffer, size_t size);
>       |       ^~~~

declarations clean-up plus c++-style casts for these specific call sites
implement write(u8) & correctly chain the other ones

> libraries/ESP8266WiFi/src/WiFiClient.h:71:18: warning: 'virtual size_t WiFiClient::write(uint8_t)' was hidden [-Woverloaded-virtual=]
>    71 |   virtual size_t write(uint8_t) override;
>       |                  ^~~~~
> In file included from libraries/ESP8266WiFi/src/WiFiClientSecure.h:23,
>                  from libraries/ESP8266WiFi/src/WiFiServerSecure.h:20,
>                  from libraries/ESP8266WiFi/src/ESP8266WiFi.h:41:
> libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.h:56:12: note:   by 'BearSSL::WiFiClientSecureCtx::write'
>    56 |     size_t write(Stream& stream); // Note this is not virtual
>       |            ^~~~~
@mcspr mcspr changed the title Misc - Stream::write & Print::read virtual methods shadowing Misc - Stream::read & Print::write virtual methods shadowing Nov 5, 2026
@mcspr
mcspr merged commit f9c4d34 into esp8266:master Nov 5, 2026
28 checks passed
@mcspr
mcspr deleted the virtual-shadows branch November 5, 2026 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant