On Fri, Feb 15, 2013 at 4:27 PM, Matthew Knepley <knepley@gmail.com> wrote:
I think we should just double all include files:

  petscksp.h
  petsckspfwd.h

You don't have to know anything about petsc*fwd.h unless you
want lightweight includes, and there is no way to misinterpret what it is.

petsc*fwd.h or petsc*types.h? Is there an established convention here?

I agree that this makes the code much more systematic. It will impact users significantly if we apply this to Mat and Vec, but then include-what-you-use would work precisely.