on master help sign in
Add support for the CONLIKE modifier in inlining pragmas
85de7cemrkkrp
data/examples/declaration/signature/inline/conlike-out.hsnew file+7
@@ -0,0 +1,7 @@
1+foo :: Int
2+foo = 5
3+{-# INLINE CONLIKE foo #-}
4+
5+bar :: Int
6+bar = 6
7+{-# INLINE CONLIKE bar #-}
data/examples/declaration/signature/inline/conlike.hsnew file+7
@@ -0,0 +1,7 @@
1+foo :: Int
2+foo = 5
3+{-# INLINE CONLIKE foo #-}
4+
5+bar :: Int
6+bar = 6
7+{-# INLINE CONLIKE bar #-}
src/Ormolu/Printer/Meat/Declaration/Signature.hs+6−4
@@ -102,11 +102,13 @@ p_inlineSig
102 -> R ()
102 -> R ()
103p_inlineSig name InlinePragma {..} = pragmaBraces $ do
103p_inlineSig name InlinePragma {..} = pragmaBraces $ do
104 txt $ case inl_inline of
104 txt $ case inl_inline of
105− Inline -> "INLINE"
105+ Inline -> "INLINE "
106− Inlinable -> "INLINEABLE"
106+ Inlinable -> "INLINEABLE "
107− NoInline -> "NOINLINE"
107+ NoInline -> "NOINLINE "
108 NoUserInline -> notImplemented "NoUserInline"
108 NoUserInline -> notImplemented "NoUserInline"
109− space
109+ case inl_rule of
110+ ConLike -> txt "CONLIKE "
111+ FunLike -> return ()
110 p_activation inl_act
112 p_activation inl_act
111 when (visibleActivation inl_act) space
113 when (visibleActivation inl_act) space
112 p_rdrName name
114 p_rdrName name