Skip to content

GADT constructors not Value Binders #116

Open
@nomeata

Description

@nomeata

Given this file:

{-# LANGUAGE GADTs #-}

data Foo1 = Bar1
data Foo2 where Bar2 :: Foo2
bar = Bar2

when I run

ghci> ParseOk mod <- parseFile "/tmp/Test.hs"
ghci> annotate (resolve [mod] mempty)  mod

the mention of Bar1 is correctly annotated as a ValueBinder

(Scoped None (SrcSpanInfo {srcInfoSpan = SrcSpan "/tmp/Test.hs" 3 13 3 17, srcInfoPoints = []})) (Ident (Scoped ValueBinder (SrcSpanInfo {srcInfoSpan = SrcSpan "/tmp/Test.hs" 3 13 3 17, srcInfoPoints = []})) "Bar1")

but Bar2 is labeled as None:

(Scoped None (SrcSpanInfo {srcInfoSpan = SrcSpan "/tmp/Test.hs" 4 17 4 29, srcInfoPoints = [SrcSpan "/tmp/Test.hs" 4 22 4 24]})) (Ident (Scoped None (SrcSpanInfo {srcInfoSpan = SrcSpan "/tmp/Test.hs" 4 17 4 21, srcInfoPoints = []})) "Bar2") 

I’d assume these should be handled the same?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions