`SortedSet{K,Ord}()`, `SortedDict{K,V,Ord}()` and `SortedMultiDict{K,V,Ord}()` throw for non-forward `Ord`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 70/100
Línea de trabajo
Reproduce con el fragmento: SortedSet{Int, typeof(Base.Order.Reverse)}() más las formas dict y multidict. Lee los constructores externos en src/sorted_set.jl:18, src/sorted_dict.jl:19 y src/sorted_multi_dict.jl:17, y luego compáralos con la forma where {Ord} que el issue dice que ya funciona. Terminado cuando las tres llamadas sin argumentos con un Ord que no sea Forward construyan el contenedor y pasen las pruebas de contenedores ordenados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
using DataStructures
R = typeof(Base.Order.Reverse)
SortedSet{Int, R}()
SortedDict{Int, Int, R}()
SortedMultiDict{Int, Int, R}()
Each call throws on master (b9ff234), Julia 1.13.4:
ERROR: MethodError: Cannot `convert` an object of type Base.Order.ForwardOrdering to an object of type DataStructures.BalancedTree23{Int64, Nothing, Base.Order.ReverseOrdering{Base.Order.ForwardOrdering}}
The constructors take o::Ord=Forward with Ord a parameter of the constructed type (src/sorted_set.jl:18, src/sorted_dict.jl:19, src/sorted_multi_dict.jl:17). The default Forward is a ForwardOrdering, so the zero-argument method matches only when Ord is ForwardOrdering. For other orderings, the call falls through to the inner constructor that takes a BalancedTree23.
Passing the ordering works: SortedSet{Int, R}(Base.Order.Reverse). Forms where Ord is a method parameter (SortedSet(o::Ord=Forward) where {Ord}) are fine.
- Lenguaje dominante
- Julia
- Estrellas
- 747
- Forks
- 261
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JuliaCollections/DataStructures.jl
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
append!(l1::MutableLinkedList, l2::MutableLinkedList) fails for empty l2Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
Todos los issues de JuliaCollections/DataStructures.jl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
JuliaDebug/Cthulhu.jl#716 ·
-
Review dependenciesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
rafaqz/DimensionalData.jl#1253 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
osrep/Runes2P.jl#283 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día