Opened 5 years ago

Closed 5 years ago

#9199 closed bug (fixed)

Wrong Template Haskell desugaring

Reported by: simonpj Owned by:
Priority: normal Milestone: 7.8.3
Component: Compiler Version: 7.8.2
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case: th/T9199
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

This code

{-# LANGUAGE TemplateHaskell, PolyKinds, TypeFamilies #-}

module T9160 where

$( [d| class C (a :: k) where
          type F (a :: k) :: *
    |]
 )

yields

T9160.hs:5:4:
    Kind variable also used as type variable: ‘k_a2cl’
    In the declaration for class C_a2cj

which is utterly bogus.

Change History (5)

comment:1 Changed 5 years ago by Simon Peyton Jones <simonpj@…>

In 571f0adccda687098d59f63524357f4ac98e72fb/ghc:

Line up kind and type variables correctly when desugaring TH brackets

This bug was causing Trac #9199

comment:2 Changed 5 years ago by simonpj

Status: newmerge
Test Case: th/T9199

comment:3 Changed 5 years ago by thoughtpolice

Milestone: 7.8.4

comment:4 Changed 5 years ago by thoughtpolice

Milestone: 7.8.47.8.3

comment:5 Changed 5 years ago by thoughtpolice

Resolution: fixed
Status: mergeclosed

Merged into 7.8.3.

Note: See TracTickets for help on using tickets.