createInterface indents a copied type by its source column
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 74/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- ocaml
- Domínio
- compilers
Direção de pesquisa
Comece em analysis/src/create_interface.ml, especialmente em Source_file_extractor.extract e no caso Sig_type de process_signature, onde o issue identifica o texto copiado e o tratamento da indentação. Reproduza o problema com o exemplo Make fornecido e verifique se um módulo de uma linha, como module M = {type t = int}, apresenta o mesmo problema. O trabalho estará concluído quando as interfaces geradas indentarem as declarações de tipo copiadas no local em que são geradas; o payload não especifica nenhum arquivo de teste.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
createInterface copies a type declaration from the source with the column it has there as its indentation, instead of the indentation of the place it is printed at.
module Make = (X: {type t}) => {
type u = X.t
}
generates
module Make: (
X: {
type t
},
) =>
{
type u = X.t
}
type t is at column 19 in the source. Source_file_extractor.extract (analysis/src/create_interface.ml) prefixes the first line of the copied text with col_start spaces, and the Sig_type case of process_signature adds that text without its indent. A type in a module written on one line, such as module M = {type t = int}, is likely affected the same way.
- Linguagem predominante
- OCaml
- Estrelas
- 7.5k
- Forks
- 484
- Merge médio
- 21h 9min
- PRs com merge (30d)
- 255
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
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 2/5 1-3 horas Facilidade para iniciantes 74/100
rescript-lang/rescript#9132 ·
Mantenedores costumam responder em até 1 dia
-
Printed type declarations drop @tag, @notUndefined and runtime annotationsTalvez já em andamento @cknitt assumiu hoje. Aberta
Dificuldade 4/5 1-2 dias Facilidade para iniciantes 25/100
rescript-lang/rescript#9134 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
rescript-lang/rescript#9130 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 1-2 dias Facilidade para iniciantes 55/100
rescript-lang/rescript#9122 ·
Mantenedores costumam responder em até 1 dia
-
Dev dependencies interactingTalvez já em andamento @CarlOlson assumiu há 3 dias. Aberta
Dificuldade 4/5 1-2 dias Facilidade para iniciantes 25/100
rescript-lang/rescript#9089 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de rescript-lang/rescript
Issues semelhantes
-
bug medium priority openmp tokenizer wrong result
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
import: a segment starting with a digit is refused, but the error says digits are allowedTalvez já em andamento @sebastianbreguel assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
HigherOrderCO/Bend#1961 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 4 dias
-
lane:core todo:ticket
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
CanadaHonk/porffor#426 ·