Ida demangler incorrect

_ZN3RTC4InfoC2EOSt10shared_ptrI4ItemERS1_I6BufferES7_Ss

ida show as
RTC::Info::Info(std::shared_ptr<Item> &&,std::shared_ptr&<Buffer>,Buffer,std::string)

second and third args are wrong

but correct demangle was

RTC::Info::Info(std::shared_ptr<Item>&&, std::shared_ptr<Buffer>&, std::shared_ptr<Buffer>&, std::string)

or second example

_Z4testRKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS5_EEERKSt3setIS5_S6_IS5_ESaIS5_EERS_IS5_iSG_SaIS8_IKS5_iEEE

ida show
test(std::map<int,std::string> const&,std::set<std::string> const&,std::map&<std::string,int,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>)

third arg wrong &

but correct demangle was

test(std::map<int, std::string> const&, std::set<std::string> const&, std::map<std::string, int>&)