Skip to content

GADT constructors not Value Binders #116

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions