missing `constructfrom` method for `CustomStruct`?
Ein zugehöriger Pull Request wurde bereits gemerged.
- #106 von @quinnj — gemerged
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Reproduziere das Julia-Beispiel mit StructTypes.lowertype(::Type{<:Column}) = Dict{String,Any}, untersuche anschließend StructTypes.jl rund um die Zeilen 905 und 955-978 zusammen mit den vorhandenen constructfrom-Überladungen. Ermittle, wie CustomStruct diese Konvertierung unterstützen sollte, und verifiziere, dass constructfrom(Dict{String,Any}, c) für den gemeldeten Column-Typ ohne den MethodError funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Perhaps I'm misunderstanding the intention of CustomStruct but I believe it is missing a constructfrom method. Even after defining the required methods I get, e.g.
◖◗ ST.constructfrom(Dict{String,Any}, c)
ERROR: MethodError: no method matching constructfrom(::StructTypes.DictType, ::Type{Dict{String, Any}}, ::Type{String}, ::Type{Any}, ::StructTypes.CustomStruct, ::Column{Int64, Count})
Closest candidates are:
constructfrom(::StructTypes.DictType, ::Type{T}, ::Type{K}, ::Type{V}, ::StructTypes.DictType, ::Any) where {T, K, V} at ~/.julia/packages/StructTypes/Cmlkm/src/StructTypes.jl:961
constructfrom(::StructTypes.DictType, ::Type{T}, ::Type{K}, ::Type{V}, ::Union{StructTypes.Mutable, StructTypes.Struct}, ::Any) where {T, K, V} at ~/.julia/packages/StructTypes/Cmlkm/src/StructTypes.jl:978
constructfrom(::StructTypes.DictType, ::Type{T}, ::Type{K}, ::Type{V}, ::S) where {T, K, V, S} at ~/.julia/packages/StructTypes/Cmlkm/src/StructTypes.jl:958
...
Stacktrace:
[1] constructfrom
@ ~/.julia/packages/StructTypes/Cmlkm/src/StructTypes.jl:958 [inlined]
[2] constructfrom(#unused#::StructTypes.DictType, #unused#::Type{Dict{String, Any}}, obj::Column{Int64, Count})
@ StructTypes ~/.julia/packages/StructTypes/Cmlkm/src/StructTypes.jl:955
[3] constructfrom(#unused#::Type{Dict{String, Any}}, obj::Column{Int64, Count})
@ StructTypes ~/.julia/packages/StructTypes/Cmlkm/src/StructTypes.jl:905
[4] top-level scope
@ REPL[13]:1
I had defined StructTypes.lowertype(::Type{<:Column}) = Dict{String,Any}, so I was expecting this to work.
- Vorherrschende Sprache
- Julia
- Sterne
- 86
- Forks
- 22
- Ø Merge
- 3 T. 22 Std.
- Gemergte PRs (30 T.)
- 5
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus JuliaData/StructTypes.jl
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
JuliaData/StructTypes.jl#104 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 30/100
JuliaData/StructTypes.jl#96 · 1 Kommentar ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
JuliaData/StructTypes.jl#87 · 5 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
JuliaData/StructTypes.jl#76 ·
-
Default to OrderedStruct for NamedTuples?Evtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
JuliaData/StructTypes.jl#68 · 3 Kommentare ·
Alle Issues in JuliaData/StructTypes.jl
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
legend-exp/LegendDataManagement.jl#232 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
EnzymeAD/Reactant.jl#3569 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
astroautomata/SymbolicRegression.jl#783 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 90/100
Maintainer antworten meist innerhalb von 1 Tag