Type printer collision between arity-specific function top and maximal explicit arrow
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 52/100
Direzione di ricerca
Inizia in Module.Types.Descr e riproduci la collisione con fun(1), fun([none()], term()) e to_quoted_string/1. Segui il percorso del type-printer e confronta il suo output con equal?/2 e subtype?/2; il lavoro è completato quando i tipi distinti non vengono più stampati in modo identico, oppure quando il comportamento intenzionale è documentato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Existing issue
- I have searched existing issues and could not find a duplicate.
Elixir and Erlang/OTP versions
Erlang/OTP 28 [erts-16.4.0.1] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [jit]
Elixir 1.21.0-dev (469c844) (compiled with Erlang/OTP 28)
Operating system
any
Current behavior
fun(1) and fun([none()], term()) are distinct types, but both currently print as (none() -> term()).
import Module.Types.Descr
top = fun(1)
arrow = fun([none()], term())
to_quoted_string(top)
#=> "(none() -> term())"
to_quoted_string(arrow)
#=> "(none() -> term())"
equal?(top, arrow)
#=> false
subtype?(arrow, top)
#=> true
subtype?(top, arrow)
#=> false
empty?(opt_difference(top, arrow))
#=> false
Expected behavior
Type printer improved. Alternatively if this is a deliberate choice it should be noted in the code documentation
- Lingua principale
- Elixir
- Stelle
- 26.7k
- Fork
- 3.7k
- Merge medio
- 8h 8m
- PR unite (30g)
- 61
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di elixir-lang/elixir
-
map_(get|put|update) ignore atom fields with static term() keyForse già presa @lukaszsamson l’ha presa 24 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
elixir-lang/elixir#15932 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
elixir-lang/elixir#15909 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 64/100
elixir-lang/elixir#15900 ·
I maintainer di solito rispondono entro 1 giorno
-
Gradual map domain with `none` looses static part when computing lower boundForse già presa @lukaszsamson l’ha presa 42 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
elixir-lang/elixir#15854 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
elixir-lang/elixir#15837 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di elixir-lang/elixir
Issue simili
-
(FunctionClauseError) in DataToParams.transform_relationship/2` on scalar relationship linkageAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
beam-community/jsonapi#473 ·
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
ci-cd
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
carverauto/serviceradar#5648 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno