0.12.0 fails to build
git bisect points to b1795fe1 @jensgeorg
FAILED: gexiv2/1a6c516@@gexiv2@sha/gexiv2-metadata.cpp.obj
ccache c++ @gexiv2/1a6c516@@gexiv2@sha/gexiv2-metadata.cpp.obj.rsp
../gexiv2/gexiv2-metadata.cpp: In function 'gboolean gexiv2_metadata_from_stream(GExiv2Metadata*, GInputStream*, GError**)':
../gexiv2/gexiv2-metadata.cpp:406:50: error: invalid new-expression of abstract class type '{anonymous}::GioIo'
406 | GioIo::ptr_type gio_ptr{new GioIo (stream)};
| ^
../gexiv2/gexiv2-metadata.cpp:35:7: note: because the following virtual functions are pure within '{anonymous}::GioIo':
35 | class GioIo : public Exiv2::BasicIo {
| ^~~~~
In file included from C:/msys64/mingw32/include/exiv2/exiv2.hpp:34,
from ../gexiv2/gexiv2-metadata-private.h:14,
from ../gexiv2/gexiv2-metadata.cpp:12:
C:/msys64/mingw32/include/exiv2/basicio.hpp:231:30: note: 'virtual std::wstring Exiv2::BasicIo::wpath() const'
231 | virtual std::wstring wpath() const =0;
| ^~~~~
../gexiv2/gexiv2-metadata.cpp:406:51: error: no matching function for call to 'std::auto_ptr<Exiv2::BasicIo>::auto_ptr(<brace-enclosed initializer list>)'
406 | GioIo::ptr_type gio_ptr{new GioIo (stream)};
| ^
In file included from C:/msys64/mingw32/include/c++/9.1.0/memory:84,
from C:/msys64/mingw32/include/exiv2/value.hpp:41,
from C:/msys64/mingw32/include/exiv2/metadatum.hpp:38,
from C:/msys64/mingw32/include/exiv2/datasets.hpp:33,
from C:/msys64/mingw32/include/exiv2/exiv2.hpp:33,
from ../gexiv2/gexiv2-metadata-private.h:14,
from ../gexiv2/gexiv2-metadata.cpp:12:
C:/msys64/mingw32/include/c++/9.1.0/backward/auto_ptr.h:266:7: note: candidate: 'std::auto_ptr< <template-parameter-1-1> >::auto_ptr(std::auto_ptr_ref<_Tp>) [with _Tp = Exiv2::BasicIo]'
266 | auto_ptr(auto_ptr_ref<element_type> __ref) throw()
| ^~~~~~~~
C:/msys64/mingw32/include/c++/9.1.0/backward/auto_ptr.h:266:7: note: conversion of argument 1 would be ill-formed:
C:/msys64/mingw32/include/c++/9.1.0/backward/auto_ptr.h:127:9: note: candidate: 'template<class _Tp1> std::auto_ptr< <template-parameter-1-1> >::auto_ptr(std::auto_ptr<_Up>&)'
127 | auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { }
| ^~~~~~~~
C:/msys64/mingw32/include/c++/9.1.0/backward/auto_ptr.h:127:9: note: template argument deduction/substitution failed:
C:/msys64/mingw32/include/c++/9.1.0/backward/auto_ptr.h:114:7: note: candidate: 'std::auto_ptr< <template-parameter-1-1> >::auto_ptr(std::auto_ptr< <template-parameter-1-1> >&) [with _Tp = Exiv2::BasicIo]'
114 | auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { }
| ^~~~~~~~
C:/msys64/mingw32/include/c++/9.1.0/backward/auto_ptr.h:114:7: note: conversion of argument 1 would be ill-formed:
C:/msys64/mingw32/include/c++/9.1.0/backward/auto_ptr.h:105:7: note: candidate: 'std::auto_ptr< <template-parameter-1-1> >::auto_ptr(std::auto_ptr< <template-parameter-1-1> >::element_type*) [with _Tp = Exiv2::BasicIo; std::auto_ptr< <template-parameter-1-1> >::element_type = Exiv2::BasicIo]'
105 | auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { }
| ^~~~~~~~
C:/msys64/mingw32/include/c++/9.1.0/backward/auto_ptr.h:105:7: note: conversion of argument 1 would be ill-formed:
ninja: build stopped: subcommand failed.