id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
2188,TH scoping problem,igloo,igloo,"In the HEAD, these modules:
{{{
module TH_scope where

import TH_scope_helper

x :: ()
x = ()
    where hold = $( wibble [d| hold :: ()
                               hold = () |] )
}}}
{{{
module TH_scope_helper where

import Language.Haskell.TH

wibble :: Q [Dec] -> Q Exp
wibble _ = [| 'a' |]
}}}
give:
{{{
TH_scope.hs:8:31:
    Misplaced type signature: hold :: ()
    The type signature must be given where `hold' is declared
}}}
Renaming the outer `hold` fixes it.

The 6.8 branch seems OK.
",merge,closed,normal,6.10 branch,Template Haskell,6.9,fixed,,,Unknown/Multiple,Unknown/Multiple,,Unknown,TH_scope,,,
