Package: libmsgsl-dev
Version: 4.0.0-2.1
Severity: important
Forwarded: https://github.com/microsoft/GSL/issues/1134

gsl::not_null and std::variant from GNU's libstdc++ are not interoperable. The
std::variant::emplace function of a template containing gsl::not_null of any
type crashes due to infinite recursion. Check the following code.

   int i = 0;
   std::variant< std::monostate, gsl::not_null<int*> > v;
   v.emplace< gsl::not_null<int*> >(&i);

See full example here -> https://godbolt.org/z/KTP9EdMzf

It will be neat to workaround the failure in the libmsgsl-dev package. At
least, a fix of this error is required to solve Bug#1050903.

Reply via email to