
#15243: -ddump-splices shenanigans: promoted tycons aren't ticked -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.4.3 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Consider the following program with a type family that contains four different promoted (i.e., ticked) type constructors: {{{#!hs {-# LANGUAGE DataKinds #-} {-# LANGUAGE PolyKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -ddump-splices #-} module Bug where data Unit = Unit $([d| type family F (a :: k) :: k where F 'Unit = 'Unit F '(,) = '(,) F '[] = '[] F '(:) = '(:) |]) }}} {{{ $ /opt/ghc/8.4.3/bin/ghci Bug3.hs GHCi, version 8.4.3: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/rgscott/.ghci [1 of 1] Compiling Bug ( Bug3.hs, interpreted ) Bug3.hs:(10,3)-(15,6): Splicing declarations [d| type family F_a1xJ (a_a1xL :: k_a1xK) :: k_a1xK where F_a1xJ 'Unit = 'Unit F_a1xJ '(,) = '(,) F_a1xJ '[] = '[] F_a1xJ '(:) = '(:) |] ======> type family F_a49g (a_a49i :: k_a49h) :: k_a49h where F_a49g Unit = Unit F_a49g GHC.Tuple.(,) = GHC.Tuple.(,) F_a49g '[] = '[] F_a49g (GHC.Types.:) = (GHC.Types.:) Ok, one module loaded. }}} The `-ddump-splices` output is quite strange: `'[]` is ticked, but the other three are not! This seems off. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15243 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler