Skip to content

Missing IPE entries in 9.6 and 9.8

Summary

I've noticed some missing IPE entries in GHCs 9.6 and 9.8

Reproducer

  1. Create a file called Main.hs with the following contents
{-# LANGUAGE CPP #-}
module Main (main, foo) where

#if MIN_VERSION_base(4,18,0)
import GHC.InfoProv
#else
import GHC.Stack.CCS
#endif

{-# NOINLINE foo #-}
foo :: String
foo = "foo"

main = whereFrom foo >>= print
  1. ghc -finfo-table-map Main.hs
  2. ./Main Before 9.6, we get an IPE entry, after 9.6 we get Nothing

I've also checked the eventlog output and it's not there either.

I'm not sure what it is about foo that triggers this. Other closures are still there, eg, main.

Expected behaviour

we shouldn't get Nothing

Edited by Teo Camarasu
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information