8000 Case where a generalised instance variable is changed to implicit · Issue #7047 · agda/agda · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Case where a generalised instance variable is changed to implicit #7047
Open
@EDT4

Description

@EDT4

When using generalised instance variables, the hiding is not preserved in the following case:

Currently (the level becomes implicit):

variable ⦃ ℓ ⦄ : Level
variable ⦃ X ⦄ : Setvariable ⦃ x ⦄ : X

test : x  Set₁
test {_} ⦃ _ ⦄ _ = Set

The type of test is: {x.X.1 : Level} ⦃ x : Set x.X.1 ⦄ → x → Set₁

Expected (the level should still be an instance):

variable ⦃ ℓ ⦄ : Level
variable ⦃ X ⦄ : Setvariable ⦃ x ⦄ : X

test : x  Set₁
test ⦃ _ ⦄ ⦃ _ ⦄ _ = Set

The type of test should be: ⦃ x.X.1 : Level ⦄ ⦃ x : Set x.X.1 ⦄ → x → Set₁

Of course, one can just use X instead of x in test and it would work as expected. Just thought this behaviour was a bit odd.

Tested versions: 2.6.2-caeadac, 2.6.5-ea16c4c

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

      0