Opened 4 years ago

Last modified 9 months ago

#7141 new bug

Inlining the single method of a class can shadow rules

Reported by: pcapriotti Owned by: simonpj
Priority: normal Milestone:
Component: Template Haskell Version: 7.4.2
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Other Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


This shows up in template-haskell, module Language.Haskell.TH.Syntax, where the single method of the Lift class:

class Lift t where
  lift :: t -> Q Exp

has a RULE:

{-# RULES "TH:liftString" lift = \s -> return (LitE (StringL s)) #-}

There is currently no way of preventing lift from being inlined.

Change History (5)

comment:1 Changed 2 years ago by thoughtpolice

  • Milestone changed from 7.8.3 to 7.10.1

Moving to 7.10.1.

comment:2 Changed 2 years ago by thomie

  • Component changed from Compiler to Template Haskell

comment:3 Changed 22 months ago by thoughtpolice

  • Milestone changed from 7.10.1 to 7.12.1

Moving to 7.12.1 milestone; if you feel this is an error and should be addressed sooner, please move it back to the 7.10.1 milestone.

comment:4 Changed 14 months ago by thoughtpolice

  • Milestone changed from 7.12.1 to 8.0.1

Milestone renamed

comment:5 Changed 9 months ago by thomie

  • Milestone 8.0.1 deleted
Note: See TracTickets for help on using tickets.