summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2021-10-18 15:44:33 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-10-20 17:49:42 -0400
commit9ded1b17f97ba3bd01757a0764ed022f7ed99e9b (patch)
treeabe1c5c624dc52e3568432076bf7870d22fef451 /.gitlab-ci.yml
parenta901a1ae6709b8e241cb93a9013b41f48fe3ecca (diff)
downloadhaskell-9ded1b17f97ba3bd01757a0764ed022f7ed99e9b.tar.gz
Make sure ModIface values are still forced even if not written
When we are not writing a ModIface to disk then the result can retain a lot of stuff. For example, in the case I was debugging the DocDeclsMap field was holding onto the entire HomePackageTable due to a single unforced thunk. Therefore, now if we're not going to write the interface then we still force deeply it in order to remove these thunks. The fields in the data structure are not made strict because when we read the field from the interface we don't want to load it immediately as there are parts of an interface which are unused a lot of the time. Also added a note to explain why not all the fields in a ModIface field are strict. The result of this is being able to load Agda in ghci and not leaking information across subsequent reloads.
Diffstat (limited to '.gitlab-ci.yml')
0 files changed, 0 insertions, 0 deletions