https://github.com/esp8266/Arduino/blob ... defs.h#L79
__has_include is disabled. Is there a reason for this, or just some legacy code that has outlived its purpose?
__has_include is useful for providing a user-friendly message ("Please install library X using the Arduino IDE Library Manager" instead of "fatal error: x.h: No such file or directory").
__has_include works in the Arduino IDE for other boards than esp8266 (Arduino Pro Mini for example).