diff --git a/src/Cryptol/Parser.y b/src/Cryptol/Parser.y index 47c00d6e0..00a184547 100644 --- a/src/Cryptol/Parser.y +++ b/src/Cryptol/Parser.y @@ -216,9 +216,9 @@ mbImportSpec :: { Maybe (Located ImportSpec) } | {- empty -} { Nothing } name_list :: { [LIdent] } - : name_list ',' ident { $3 : $1 } - | ident { [$1] } - | {- empty -} { [] } + : name_list ',' var { fmap getIdent $3 : $1 } + | var { [fmap getIdent $1] } + | {- empty -} { [] } mbHiding :: { [Ident] -> ImportSpec } : 'hiding' { Hiding } diff --git a/tests/issues/issue1344.icry b/tests/issues/issue1344.icry new file mode 100644 index 000000000..c75b3f1a9 --- /dev/null +++ b/tests/issues/issue1344.icry @@ -0,0 +1 @@ +:l issue1344/issue1344.cry diff --git a/tests/issues/issue1344.icry.stdout b/tests/issues/issue1344.icry.stdout new file mode 100644 index 000000000..795267186 --- /dev/null +++ b/tests/issues/issue1344.icry.stdout @@ -0,0 +1,4 @@ +Loading module Cryptol +Loading module Cryptol +Loading module A +Loading module Main diff --git a/tests/issues/issue1344/A.cry b/tests/issues/issue1344/A.cry new file mode 100644 index 000000000..6e4075426 --- /dev/null +++ b/tests/issues/issue1344/A.cry @@ -0,0 +1,5 @@ +module A where + +x <+> y = x + y + +type a ∸ b = max a b - b diff --git a/tests/issues/issue1344/issue1344.cry b/tests/issues/issue1344/issue1344.cry new file mode 100644 index 000000000..437fe14d6 --- /dev/null +++ b/tests/issues/issue1344/issue1344.cry @@ -0,0 +1,5 @@ +import A ((<+>), (∸)) + +plus = (<+>) + +type monus a b = a ∸ b