New user self-registration is disabled due to spam. Please email eigen-core-team @ lists.tuxfamily.org if you need an account.Before reporting a bug, please make sure that your Eigen version is up-to-date!

This also fails for dynamic matrix-products.
An easier workaround is to write:
res = (A*B).eval().sparseView();
The regression is not entirely unmotivated, since it is generally not good to access products coefficient-wise. However,
A.lazyProduct(B)
should be accessible coefficient-wise (and thus have an inner iterator), and we should certainly let sparseView() evaluate its argument when necessary (even though this is actually not good, if the matrix is big).

It also fails with lazyProduct.
I had a hard time finding the origin of the problem. It actually comes from the following specialization:
struct evaluator<SparseView<Product<Lhs, Rhs, Options> > >
which is supposed to handle (sparse*sparse).prune()...
Of course, it should be enabled for sparse products only. I'll fix it.