Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A ArduinoJson
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 24
    • Issues 24
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Benoît Blanchon
  • ArduinoJson
  • Issues
  • #1585
Closed
Open
Issue created Jun 10, 2021 by Administrator@rootContributor

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
  1. The issue happens at compile time
  2. 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]
Assignee
Assign to
Time tracking