Skip to content

Draft: Add Pretty.zeroWidth{F,P}Text, use it in Cmm Ppr

Sebastian Graf requested to merge wip/ftext-no-length into master

This is ultimately so that we can drop the length field of FastString. The Cmm pretty printer doesn't look at the width anyway, so eagerly computing it is redundant.

There are a multitude of occurrences of text in compiler/GHC/Cmm, but they mostly rewrite to ptext anyway, where computing the length isn't particularly expensive, so I refrained from changing these occurrences to zeroWidthText for the time being.

From the three proposed approaches in #17069 (comment 259689) this one seemed like the simplest and least intrusive; plus, there is already precedent with Pretty.zeroWidthText.

Fixes #17069.

Edited by Andreas Klebinger

Merge request reports