>> the patch adds the `<iostream>` include to `elasticity_upscale.hpp`.
>
> That's arguably worse.  There's nothing in `upscale_elasticity.hpp` that references symbols from `<iostream>`.

no it's not because as it is right now it's plain wrong and it only worked by coincidence. (read: some other header included `<iostream>` before which caused the guard macro to kick in.)

> Instinctively that sounds like a strange choice. Any comments, @akva2?

I think the same. That's actually why I wanted to make all the headers autonomous some time ago, but IIRC this PR was not liked too much. (but I don't remember if it was merged or not or if it it was only for opm-core...)