8000 Case-split on a datatype defined in a parametrised module produces needlessly-prefixed patterns · Issue #3209 · agda/agda · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Case-split on a datatype defined in a parametrised module produces needlessly-prefixed patterns #3209
Open
@gallais

Description

@gallais

When case-splitting on x in B.agda, we get the pattern (;A.A⁺.a x) which is a
parse error rather the completely valid (a x).

A.agda:

open import Level

module A {l : Level} (A : Set l) where

data A⁺ : Set l where a : A  A⁺

B.agda:

module B where

open import Agda.Builtin.Nat
open import A Nat

swap : A⁺  A⁺
swap x = {!!}

Note that if we inline A.agda as a parametrised module defined in B.agda then
everything is fine!

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: highscopeIssues relating to scope checkingtype: bugIssues and pull requests about actual bugsux: case splittingIssues relating to the case split ("C-c C-c") commandux: interactionIssues to do with interactive development (holes, case splitting, etc)ux: printingIssues relating to how terms are printed for display

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0