Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-99528

QMetaTypeForType::name: msvc constexpr limitation

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: P4: Low
    • Resolution: Unresolved
    • Affects Version/s: 6.2.2
    • Fix Version/s: None
    • Component/s: Core: Object Model
    • Labels:
      None

      Description

      i'm not sure if there's an easy way around this: i'm using some very long `std::variant`s as signal arguments. the types are registered to the meta type system, but when compiling
      ```static constexpr decltype(typenameHelper<S>()) name = typenameHelper<S>();```, msvc bails out with "error C2131: expression did not evaluate to a constant"

      include\QtCore/qmetatype.h(1798): note: failure was caused by evaluation exceeding step limit of 1048576 (/constexpr:steps<NUMBER>)
      

      while i've been able to work around by increasing the `/constexpr:steps` count, i wonder if there's something that can be done in the constexpr computation

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              thiago Thiago Macieira
              Reporter:
              timblechmann tim blechmann
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:

                  Gerrit Reviews

                  There are no open Gerrit changes