Skip to content

Conversion from impl type to interface type is ambiguous

Would be really nice if this wasn't ambigous

/usr/src/tdesktop/Telegram/lib_base/base/platform/linux/base_system_media_controls_linux.cpp: In member function ‘gi::repository::Mpris::MediaPlayer2Player& base::Platform::SystemMediaControls::Private::player()’:
/usr/src/tdesktop/Telegram/lib_base/base/platform/linux/base_system_media_controls_linux.cpp:108:10: error: conversion from ‘base::Platform::SystemMediaControls::Private::Player’ to ‘gi::repository::Mpris::MediaPlayer2Player’ is ambiguous
  108 |   return *_player;
      |          ^~~~~~~~
In file included from /usr/src/tdesktop/cmake/external/glib/cppgir/gi/gi.hpp:46,
                 from /usr/src/tdesktop/out/Telegram/lib_base/gen/mpris/mpris.hpp:6,
                 from /usr/src/tdesktop/Telegram/lib_base/base/platform/linux/base_system_media_controls_linux.cpp:12:
/usr/src/tdesktop/cmake/external/glib/cppgir/gi/objectclass.hpp:109:3: note: candidate: ‘gi::detail::InterfaceImpl<InterfaceDef>::operator gi::detail::InterfaceImpl<InterfaceDef>::instance_type_t() [with InterfaceDef = gi::repository::Mpris::impl::internal::MediaPlayer2PlayerIfaceDef; gi::detail::InterfaceImpl<InterfaceDef>::instance_type_t = gi::repository::Mpris::MediaPlayer2Player]’
  109 |   operator instance_type_t()
      |   ^~~~~~~~
In file included from /usr/src/tdesktop/out/Telegram/lib_base/gen/mpris/mpris_impl.hpp:14,
                 from /usr/src/tdesktop/out/Telegram/lib_base/gen/mpris/mpris.hpp:79,
                 from /usr/src/tdesktop/Telegram/lib_base/base/platform/linux/base_system_media_controls_linux.cpp:12:
/usr/src/tdesktop/out/Telegram/lib_base/gen/mpris/mediaplayer2playerskeleton_impl.hpp:17:1: note: candidate: ‘gi::repository::Mpris::base::MediaPlayer2PlayerSkeletonBase::operator gi::repository::Mpris::MediaPlayer2Player()’
   17 | MediaPlayer2PlayerSkeletonBase::operator Mpris::MediaPlayer2Player ()
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~