Public bug reported:

There are compilation errors when I try to include the <glibmm.h> header under 
C++20.
This is reproducible in Ubuntu 21.10 (Impish Indri) or Ubuntu devel (Jammy 
Jellyfish) but not in Ubuntu 21.04 (Impish Indri) or Debian unstable. And this 
is effecting building of the telegram-desktop package.

mymedia@barberry:~$ g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int 
main(){}' `pkg-config --cflags --libs glibmm-2.4` -o /dev/null 
In file included from 
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
                 from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
                 from /usr/include/glibmm-2.4/glibmm.h:92,
                 from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected unqualified-id 
before ‘)’ token
  956 |   Variant<VariantBase>();
      |                        ^
/usr/include/glibmm-2.4/glibmm/variant.h:1017:25: error: expected 
unqualified-id before ‘)’ token
 1017 |   Variant< Variant<T> >();
      |                         ^
/usr/include/glibmm-2.4/glibmm/variant.h:1070:26: error: expected 
unqualified-id before ‘)’ token
 1070 |   Variant<Glib::ustring>();
      |                          ^
/usr/include/glibmm-2.4/glibmm/variant.h:1240:24: error: expected 
unqualified-id before ‘)’ token
 1240 |   Variant<std::string>();
      |                        ^
/usr/include/glibmm-2.4/glibmm/variant.h:1286:30: error: expected 
unqualified-id before ‘)’ token
 1286 |   Variant< std::pair<K, V> >()
      |                              ^
/usr/include/glibmm-2.4/glibmm/variant.h:1335:29: error: expected 
unqualified-id before ‘)’ token
 1335 |   Variant< std::vector<T> >()
      |                             ^
/usr/include/glibmm-2.4/glibmm/variant.h:1404:41: error: expected 
unqualified-id before ‘)’ token
 1404 |   Variant< std::vector<Glib::ustring> >();
      |                                         ^
/usr/include/glibmm-2.4/glibmm/variant.h:1530:39: error: expected 
unqualified-id before ‘)’ token
 1530 |   Variant< std::vector<std::string> >();
      |                                       ^
/usr/include/glibmm-2.4/glibmm/variant.h:1606:29: error: expected 
unqualified-id before ‘)’ token
 1606 |   Variant< std::map<K, V> >()
      |                             ^
/usr/include/glibmm-2.4/glibmm/variant.h:1679:33: error: expected 
unqualified-id before ‘)’ token
 1679 |   Variant<std::tuple<Types...>>()
      |                                 ^
In file included from /usr/include/glibmm-2.4/glibmm/variant.h:1742,
                 from 
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
                 from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
                 from /usr/include/glibmm-2.4/glibmm.h:92,
                 from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:23:17: error: expected 
unqualified-id before ‘)’ token
   23 |   Variant<bool>()
      |                 ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:66:26: error: expected 
unqualified-id before ‘)’ token
   66 |   Variant<unsigned char>()
      |                          ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:109:19: error: expected 
unqualified-id before ‘)’ token
  109 |   Variant<gint16>()
      |                   ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:152:20: error: expected 
unqualified-id before ‘)’ token
  152 |   Variant<guint16>()
      |                    ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:195:19: error: expected 
unqualified-id before ‘)’ token
  195 |   Variant<gint32>()
      |                   ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:244:20: error: expected 
unqualified-id before ‘)’ token
  244 |   Variant<guint32>()
      |                    ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:287:19: error: expected 
unqualified-id before ‘)’ token
  287 |   Variant<gint64>()
      |                   ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:330:20: error: expected 
unqualified-id before ‘)’ token
  330 |   Variant<guint64>()
      |                    ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:373:19: error: expected 
unqualified-id before ‘)’ token
  373 |   Variant<double>()
      |                   ^
In file included from 
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
                 from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
                 from /usr/include/glibmm-2.4/glibmm.h:92,
                 from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:1751:1: error: no declaration matches 
‘Glib::Variant<Glib::Variant<T> >::Variant()’
 1751 | Variant< Variant<T> >::Variant()
      | ^~~~~~~~~~~~~~~~~~~~~
In file included from 
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
                 from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
                 from /usr/include/glibmm-2.4/glibmm.h:92,
                 from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:1026:12: note: candidate is: 
‘Glib::Variant<Glib::Variant<T> >::Variant(GVariant*, bool)’
 1026 |   explicit Variant< Variant<T> >(GVariant* castitem, bool 
take_a_reference = false);
      |            ^~~~~~~~~~~~~~~~~~~~~
/usr/include/glibmm-2.4/glibmm/variant.h:1009:7: note: ‘class 
Glib::Variant<Glib::Variant<T> >’ defined here
 1009 | class Variant< Variant<T> > : public VariantContainerBase
      |       ^~~~~~~~~~~~~~~~~~~~~

** Affects: glibmm2.4 (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: impish jammy

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to glibmm2.4 in Ubuntu.
https://bugs.launchpad.net/bugs/1955044

Title:
  /usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected
  unqualified-id before ‘)’ token

Status in glibmm2.4 package in Ubuntu:
  New

Bug description:
  There are compilation errors when I try to include the <glibmm.h> header 
under C++20.
  This is reproducible in Ubuntu 21.10 (Impish Indri) or Ubuntu devel (Jammy 
Jellyfish) but not in Ubuntu 21.04 (Impish Indri) or Debian unstable. And this 
is effecting building of the telegram-desktop package.

  mymedia@barberry:~$ g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int 
main(){}' `pkg-config --cflags --libs glibmm-2.4` -o /dev/null 
  In file included from 
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
                   from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
                   from /usr/include/glibmm-2.4/glibmm.h:92,
                   from <command-line>:
  /usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected 
unqualified-id before ‘)’ token
    956 |   Variant<VariantBase>();
        |                        ^
  /usr/include/glibmm-2.4/glibmm/variant.h:1017:25: error: expected 
unqualified-id before ‘)’ token
   1017 |   Variant< Variant<T> >();
        |                         ^
  /usr/include/glibmm-2.4/glibmm/variant.h:1070:26: error: expected 
unqualified-id before ‘)’ token
   1070 |   Variant<Glib::ustring>();
        |                          ^
  /usr/include/glibmm-2.4/glibmm/variant.h:1240:24: error: expected 
unqualified-id before ‘)’ token
   1240 |   Variant<std::string>();
        |                        ^
  /usr/include/glibmm-2.4/glibmm/variant.h:1286:30: error: expected 
unqualified-id before ‘)’ token
   1286 |   Variant< std::pair<K, V> >()
        |                              ^
  /usr/include/glibmm-2.4/glibmm/variant.h:1335:29: error: expected 
unqualified-id before ‘)’ token
   1335 |   Variant< std::vector<T> >()
        |                             ^
  /usr/include/glibmm-2.4/glibmm/variant.h:1404:41: error: expected 
unqualified-id before ‘)’ token
   1404 |   Variant< std::vector<Glib::ustring> >();
        |                                         ^
  /usr/include/glibmm-2.4/glibmm/variant.h:1530:39: error: expected 
unqualified-id before ‘)’ token
   1530 |   Variant< std::vector<std::string> >();
        |                                       ^
  /usr/include/glibmm-2.4/glibmm/variant.h:1606:29: error: expected 
unqualified-id before ‘)’ token
   1606 |   Variant< std::map<K, V> >()
        |                             ^
  /usr/include/glibmm-2.4/glibmm/variant.h:1679:33: error: expected 
unqualified-id before ‘)’ token
   1679 |   Variant<std::tuple<Types...>>()
        |                                 ^
  In file included from /usr/include/glibmm-2.4/glibmm/variant.h:1742,
                   from 
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
                   from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
                   from /usr/include/glibmm-2.4/glibmm.h:92,
                   from <command-line>:
  /usr/include/glibmm-2.4/glibmm/variant_basictypes.h:23:17: error: expected 
unqualified-id before ‘)’ token
     23 |   Variant<bool>()
        |                 ^
  /usr/include/glibmm-2.4/glibmm/variant_basictypes.h:66:26: error: expected 
unqualified-id before ‘)’ token
     66 |   Variant<unsigned char>()
        |                          ^
  /usr/include/glibmm-2.4/glibmm/variant_basictypes.h:109:19: error: expected 
unqualified-id before ‘)’ token
    109 |   Variant<gint16>()
        |                   ^
  /usr/include/glibmm-2.4/glibmm/variant_basictypes.h:152:20: error: expected 
unqualified-id before ‘)’ token
    152 |   Variant<guint16>()
        |                    ^
  /usr/include/glibmm-2.4/glibmm/variant_basictypes.h:195:19: error: expected 
unqualified-id before ‘)’ token
    195 |   Variant<gint32>()
        |                   ^
  /usr/include/glibmm-2.4/glibmm/variant_basictypes.h:244:20: error: expected 
unqualified-id before ‘)’ token
    244 |   Variant<guint32>()
        |                    ^
  /usr/include/glibmm-2.4/glibmm/variant_basictypes.h:287:19: error: expected 
unqualified-id before ‘)’ token
    287 |   Variant<gint64>()
        |                   ^
  /usr/include/glibmm-2.4/glibmm/variant_basictypes.h:330:20: error: expected 
unqualified-id before ‘)’ token
    330 |   Variant<guint64>()
        |                    ^
  /usr/include/glibmm-2.4/glibmm/variant_basictypes.h:373:19: error: expected 
unqualified-id before ‘)’ token
    373 |   Variant<double>()
        |                   ^
  In file included from 
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
                   from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
                   from /usr/include/glibmm-2.4/glibmm.h:92,
                   from <command-line>:
  /usr/include/glibmm-2.4/glibmm/variant.h:1751:1: error: no declaration 
matches ‘Glib::Variant<Glib::Variant<T> >::Variant()’
   1751 | Variant< Variant<T> >::Variant()
        | ^~~~~~~~~~~~~~~~~~~~~
  In file included from 
/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
                   from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
                   from /usr/include/glibmm-2.4/glibmm.h:92,
                   from <command-line>:
  /usr/include/glibmm-2.4/glibmm/variant.h:1026:12: note: candidate is: 
‘Glib::Variant<Glib::Variant<T> >::Variant(GVariant*, bool)’
   1026 |   explicit Variant< Variant<T> >(GVariant* castitem, bool 
take_a_reference = false);
        |            ^~~~~~~~~~~~~~~~~~~~~
  /usr/include/glibmm-2.4/glibmm/variant.h:1009:7: note: ‘class 
Glib::Variant<Glib::Variant<T> >’ defined here
   1009 | class Variant< Variant<T> > : public VariantContainerBase
        |       ^~~~~~~~~~~~~~~~~~~~~

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibmm2.4/+bug/1955044/+subscriptions


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to