error: inlining failed in call to 'always_inline'
Created by: lbussy
I'm getting this error in an application that used to compile without issue on an older ArduinoJson 6.x version.
ArduinoJson Troubleshooter's report
- The issue happens at compile time
- The error is not in the list
In file included from .pio\libdeps\d1_mini\ArduinoJson\src/ArduinoJson/Array/ArrayIterator.hpp:8,
from .pio\libdeps\d1_mini\ArduinoJson\src/ArduinoJson/Array/ArrayRef.hpp:8,
from .pio\libdeps\d1_mini\ArduinoJson\src/ArduinoJson.hpp:17,
from .pio\libdeps\d1_mini\ArduinoJson\src/ArduinoJson.h:9,
from src\jsonconfig.h:27,
from src\jsonconfig.cpp:23:
.pio\libdeps\d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRef.hpp: In member function 'typename ArduinoJson6180_D1::enable_if<((! ArduinoJson6180_D1::is_same<T, char*>::value) && (! ArduinoJson6180_D1::is_same<T, char>::value)), T>::type ArduinoJson6180_D1::VariantConstRef::as() const [with T = ArduinoJson6180_D1::VariantRef]':
.pio\libdeps\d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRef.hpp:295:16: error: inlining failed in call to 'always_inline' 'ArduinoJson6180_D1::VariantConstRef::operator T() const [with T = ArduinoJson6180_D1::VariantRef]': function not inlinable
295 | FORCE_INLINE operator T() const {
| ^~~~~~~~
.pio\libdeps\d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRef.hpp:253:34: note: called from here
253 | return Converter<T>::fromJson(*this);
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
Compiling .pio\build\d1_mini\src\uptime.cpp.o
*** [.pio\build\d1_mini\src\jsonconfig.cpp.o] Error 1
I'm more than happy to try to refine the issue, create a small fail case, etc., however, to rip it all out and re-write it would sort of remove any advantage your experience might bring. :)
If this error rings a bell with you, great! If not, I'll start commenting out swaths of code to figure out where I'm going sideways.
Updating bblanchon/ArduinoJson 6.18.0 [Up-to-date]
Platform espressif8266
--------
Updating platformio/espressif8266 3.0.0 [Up-to-date]
Updating platformio/toolchain-xtensa 2.100200.0 @ ~2.100200.0 [Up-to-date]
Updating platformio/framework-arduinoespressif8266 3.30000.210519 @ ~3.30000.0 [Up-to-date]