
#11158: Combine exprIsTrivial and cpe_ExprIsTrivial -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: task | Status: infoneeded Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1656 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonmar): I'll take a closer look later, but there seem to be multiple silly things going on. This: {{{ [section ""data" . sat_sNJ_closure" { sat_sNJ_closure: const ()_static_info; }] }}} Is **an instance of the () constructor** which is crazy because there only needs to be one instance of `()`, we don't need to create new instances of it. It's also totally silly for `Nothing` to be in an SRT. Even when we're not optimising we ought to know that nullary constructors have `NoCafRefs`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11158#comment:23 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler