liquid-java / liquid-java/liquidjava

This should not typecheck, but it typechecks

Aberta
#11 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

bug
Linguagem predominante
Java
Estrelas
67
Forks
36
Merge médio
10d 18h
PRs com merge (30d)
3

Descrição

```
@Ghost("int some_other_ghost")
public class Test2 {
int n = 0;

@StateRefinement(from="some_other_ghost(this) > 0", to="some_other_ghost(this) < 0")
private void f(){}

private void shouldFail(){
f();
f();
}

public static void main(String[] args) {
Test2 t = new Test2();
t.shouldFail();
}
}
```

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Use o snippet de Java na issue como caso de reprodução e execute o verificador de tipos do LiquidJava nele. Rastreie por que as duas chamadas a f() são aceitas apesar do refinamento de estado declarado e, em seguida, verifique se o verificador rejeita este exemplo, preservando o comportamento de refinamento pretendido.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
compilers
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.