Skip to content

Pretty-printing NOINLINE pragma only prints INLINE

Summary

The Outputable instance for an InlineSig always prepends {-# INLINE and discards the user's actual annotation (NOINLINE, INLINABLE) when pprinting without source text. Relevant line is here in master and here in 9.2.3.

ghc-source-gen would use this Outputable instance to generate pragmas in source.

Steps to reproduce

Construct an InlineSig with its InlinePragma's inl_inline field set to NoInline or Inlinable and ppr it.

Expected behavior

Should be a corresponding INLINE, NOINLINE, or INLINABLE in ppr output.

Environment

  • GHC version used: 9.2.3

Optional:

  • Operating System: Linux
  • System Architecture: x86_64
Edited by Winston Hartnett
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information