Skip to content

Simplify IfaceIdInfo type

Ömer Sinan Ağacan requested to merge osa1/ghc:simplify_IfaceIdInfo into master

IfaceIdInfo type is confusing: there's practically no difference between NoInfo and HasInfo []. The comments say NoInfo is used when -fomit-interface-pragmas is enabled, but we don't need to distinguish NoInfo from HasInfo [] in when reading the interface so the distinction is not important.

This patch simplifies the type by removing NoInfo. When we have no info we use an empty list.

With this change we no longer read the info list lazily when reading an IfaceInfoItem, but when reading an IfaceId the ifIdInfo field is read lazily, so I doubt this is going to be a problem.

Merge request reports