GHC: Ticket #7481: Partially promoted data types
http://ghc.haskell.org/trac/ghc/ticket/7481
<p>
Consider
</p>
<pre class="wiki">{-# LANGUAGE DataKinds, PolyKinds #-}
data D a where
D1 :: a -> D a
D2 :: (a~Int) => D a
D3 :: forall (a:k). Proxy a -> D b
</pre><p>
Is <tt>D</tt> a promoted type?
</p>
<p>
Well, <tt>D1</tt> is promotable, but <tt>D2</tt> is not because of constraints in its type, and neither is <tt>D3</tt> because it uses kind polymorphism. It's a bit odd to promote only one of the three constructors, but that is what happens right now.
</p>
<p>
We should probably check for promotability of all data constructors, and promote all or none. A bit of fiddling around is need to do this, so I'm opening a ticket. It's not terribly pressing.
</p>
en-usGHChttp://ghc.haskell.org/trac/ghc/chrome/site/ghc_logo.png
http://ghc.haskell.org/trac/ghc/ticket/7481
Trac 1.0.9simonpjWed, 05 Dec 2012 11:30:02 GMTdescription changed
http://ghc.haskell.org/trac/ghc/ticket/7481#comment:1
http://ghc.haskell.org/trac/ghc/ticket/7481#comment:1
<ul>
<li><strong>description</strong>
modified (<a href="/trac/ghc/ticket/7481?action=diff&version=1">diff</a>)
</li>
</ul>
TicketgoldfireWed, 05 Dec 2012 15:26:48 GMTcc set
http://ghc.haskell.org/trac/ghc/ticket/7481#comment:2
http://ghc.haskell.org/trac/ghc/ticket/7481#comment:2
<ul>
<li><strong>cc</strong>
<em>eir@…</em> added
</li>
</ul>
TicketRichard Eisenberg <eir@…>Mon, 10 Feb 2014 01:39:02 GMT
http://ghc.haskell.org/trac/ghc/ticket/7481#comment:3
http://ghc.haskell.org/trac/ghc/ticket/7481#comment:3
<p>
In <a class="changeset" href="http://ghc.haskell.org/trac/ghc/changeset/d1dff94c9a82ffeff0bf92d0f90231a639ade59c/ghc" title="Test #7481, which had already been fixed.">d1dff94c9a82ffeff0bf92d0f90231a639ade59c/ghc</a>:
</p>
<pre class="message">Test #7481, which had already been fixed.</pre>
TicketgoldfireMon, 10 Feb 2014 01:45:09 GMTstatus changed; testcase, resolution set
http://ghc.haskell.org/trac/ghc/ticket/7481#comment:4
http://ghc.haskell.org/trac/ghc/ticket/7481#comment:4
<ul>
<li><strong>status</strong>
changed from <em>new</em> to <em>closed</em>
</li>
<li><strong>testcase</strong>
set to <em>polykinds/T7481</em>
</li>
<li><strong>resolution</strong>
set to <em>fixed</em>
</li>
</ul>
Ticket