You should not be able to cast to a private record/variant
Mantenedores costumam responder em até 1 dia
@tsnobip já está trabalhando nisso.
Desde 31/5/2026.
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Today, this compiles without any warning or error (cf playground):
module Foo = {
type t = private {foo: int}
}
module Bar = {
type t = {...Foo.t}
}
let bar = {Bar.foo: 9}
let foo = (bar :> Foo.t)
which doesn't make sense because private records/variants are precisely meant to avoid instantiation.
This should IMO at least raise a warning.
- Linguagem predominante
- OCaml
- Estrelas
- 7.5k
- Forks
- 485
- Merge médio
- 1d 3h
- PRs com merge (30d)
- 49
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de rescript-lang/rescript
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
rescript-lang/rescript#8659 · 2 comentários · 2 reações ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
rescript-lang/rescript#8647 ·
Mantenedores costumam responder em até 1 dia
-
Untagged variants: boolean literal/payload overlap is rejected while string, int, float and bigint overlap is allowedTalvez já em andamento @cknitt assumiu há 20 dias. Aberta
rescript-lang/rescript#8632 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 28/100
rescript-lang/rescript#8624 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
rescript-lang/rescript#8596 · 2 comentários ·
Mantenedores costumam responder em até 1 dia