Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

ForwardDiff causes many ambiguities which may hurt performance

Ouverte
#597 2 commentaires 4 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
julia
Domaine
performance

Piste de recherche

Commencez par reproduire le rapport avec Aqua.test_all(OrdinaryDiffEq) et examinez les méthodes ForwardDiff listées, en particulier celles de src/dual.jl et les méthodes de dérivée scalaire. Déterminez quelles ambiguïtés relèvent de ForwardDiff, corrigez-les sans modifier le comportement de différentiation prévu, et vérifiez que la sortie d’ambiguïtés pertinente d’Aqua est réduite ou éliminée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

According to @vtjnash in https://github.com/SciML/OrdinaryDiffEq.jl/issues/1750, method ambiguities can hurt performance. It seems that a major source is ForwardDiff, and so it would be good for these to get cleaned up. I found this via:

using OrdinaryDiffEq, Aqua
Aqua.test_all(OrdinaryDiffEq)
50 ambiguities found
Ambiguity #1
StatsBase.TestStat(v) in StatsBase at C:\Users\accou\.julia\packages\StatsBase\XgjIN\src\statmodels.jl:80
(::Type{T})(z::Complex) where T<:Real in Base at complex.jl:44

Possible fix, define
  StatsBase.TestStat(::Complex)

Ambiguity #2
ReverseDiff.TrackedReal{V, D, O}(value) where {V, D, O} in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\tracked.jl:56
(::Type{T})(x::AbstractChar) where T<:Union{AbstractChar, Number} in Base at char.jl:50

Possible fix, define
  ReverseDiff.TrackedReal{V, D, O}(::AbstractChar) where {V, D, O}

Ambiguity #3
convert(::Type{ForwardDiff.Dual{T, V, N}}, x) where {T, V, N} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:432
convert(::Type{T}, x::AbstractChar) where T<:Number in Base at char.jl:185

Possible fix, define
  convert(::Type{ForwardDiff.Dual{T, V, N}}, ::AbstractChar) where {T, V, N}

Ambiguity #4
^(x::Real, y::ForwardDiff.Dual{Ty}) where Ty in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:145
^(::Irrational{:ℯ}, x::Number) in Base.MathConstants at mathconstants.jl:119

Possible fix, define
  ^(::Irrational{:ℯ}, ::ForwardDiff.Dual{Ty}) where Ty

Ambiguity #5
reshape(parent::FillArrays.AbstractFill, dims::Union{Colon, Integer}...) in FillArrays at C:\Users\accou\.julia\packages\FillArrays\MQ1cf\src\FillArrays.jl:233
reshape(parent::AbstractVector, ::Colon) in Base at reshapedarray.jl:115

Possible fix, define
  reshape(::FillArrays.AbstractFill{T, 1} where T, ::Colon)

Ambiguity #6
==(x::Real, y::ForwardDiff.Dual{Ty}) where Ty in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:145
==(x::AbstractIrrational, y::Real) in Base at irrationals.jl:88

Possible fix, define
  ==(::AbstractIrrational, ::ForwardDiff.Dual{Ty}) where Ty

Ambiguity #7
ReverseDiff.TrackedReal{V, D, O}(value) where {V, D, O} in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\tracked.jl:56
(::Type{T})(x::Base.TwicePrecision) where T<:Number in Base at twiceprecision.jl:266

Possible fix, define
  ReverseDiff.TrackedReal{V, D, O}(::Base.TwicePrecision) where {V, D, O}

Ambiguity #8
promote_rule(::Type{R}, ::Type{ForwardDiff.Dual{T, V, N}}) where {R<:Real, T, V, N} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:425
promote_rule(::Type{S}, ::Type{T}) where {S<:AbstractIrrational, T<:Number} in Base at irrationals.jl:45

Possible fix, define
  promote_rule(::Type{S}, ::Type{ForwardDiff.Dual{T, V, N}}) where {S<:AbstractIrrational, T, V, N}

Ambiguity #9
promote_rule(::Type{R}, ::Type{ReverseDiff.TrackedReal{V, D, O}}) where {R<:Real, V, D, O} in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\tracked.jl:276
promote_rule(::Type{S}, ::Type{T}) where {S<:AbstractIrrational, T<:Number} in Base at irrationals.jl:45

Possible fix, define
  promote_rule(::Type{S}, ::Type{ReverseDiff.TrackedReal{V, D, O}}) where {S<:AbstractIrrational, V, D, O}

Ambiguity #10
Base.Broadcast.BroadcastStyle(::ReverseDiff.TrackedStyle, b::Base.Broadcast.BroadcastStyle) in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\derivatives\broadcast.jl:38
Base.Broadcast.BroadcastStyle(::S, ::Base.Broadcast.Unknown) where S<:Base.Broadcast.BroadcastStyle in Base.Broadcast at broadcast.jl:133

Possible fix, define
  Base.Broadcast.BroadcastStyle(::ReverseDiff.TrackedStyle, ::Base.Broadcast.Unknown)

Ambiguity #11
promote_rule(::Type{R}, ::Type{ReverseDiff.TrackedReal{V, D, O}}) where {R<:Real, V, D, O} in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\tracked.jl:276
promote_rule(::Type{<:AbstractIrrational}, ::Type{T}) where T<:Real in Base at irrationals.jl:44

Possible fix, define
  promote_rule(::Type{R}, ::Type{ReverseDiff.TrackedReal{V, D, O}}) where {V, D, O, R<:AbstractIrrational}

Ambiguity #12
convert(::Type{ForwardDiff.Dual{T, V, N}}, x) where {T, V, N} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:432
convert(::Type{T}, index::CartesianIndex{1}) where T<:Number in Base.IteratorsMD at multidimensional.jl:130

Possible fix, define
  convert(::Type{ForwardDiff.Dual{T, V, N}}, ::CartesianIndex{1}) where {T, V, N}

Ambiguity #13
(ForwardDiff.Dual{T})(value) where T in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:69
(::Type{T})(x::Base.TwicePrecision) where T<:Number in Base at twiceprecision.jl:266

Possible fix, define
  (ForwardDiff.Dual{T})(::Base.TwicePrecision) where T

Ambiguity #14
promote_rule(::Type{R}, ::Type{ForwardDiff.Dual{T, V, N}}) where {R<:Real, T, V, N} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:425
promote_rule(::Type{<:AbstractIrrational}, ::Type{T}) where T<:Real in Base at irrationals.jl:44

Possible fix, define
  promote_rule(::Type{R}, ::Type{ForwardDiff.Dual{T, V, N}}) where {T, V, N, R<:AbstractIrrational}

Ambiguity #15
^(x::Irrational, y::ForwardDiff.Dual{Ty}) where Ty in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:145
^(::Irrational{:ℯ}, x::Number) in Base.MathConstants at mathconstants.jl:119

Possible fix, define
  ^(::Irrational{:ℯ}, ::ForwardDiff.Dual{Ty}) where Ty

Ambiguity #16
reshape(parent::FillArrays.AbstractFill, dims::Tuple{Vararg{Union{Colon, Integer}}}) in FillArrays at C:\Users\accou\.julia\packages\FillArrays\MQ1cf\src\FillArrays.jl:235
reshape(parent::AbstractVector, ::Tuple{Colon}) in Base at reshapedarray.jl:116

Possible fix, define
  reshape(::FillArrays.AbstractFill{T, 1} where T, ::Tuple{Colon})

Ambiguity #17
^(a::Real, b::ReverseDiff.TrackedReal) in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\derivatives\scalars.jl:17
^(::Irrational{:ℯ}, x::Number) in Base.MathConstants at mathconstants.jl:119

Possible fix, define
  ^(::Irrational{:ℯ}, ::ReverseDiff.TrackedReal)

Ambiguity #18
log(a::Real, b::ReverseDiff.TrackedReal) in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\derivatives\scalars.jl:17
log(::Irrational{:ℯ}, x::Number) in Base.MathConstants at mathconstants.jl:124

Possible fix, define
  log(::Irrational{:ℯ}, ::ReverseDiff.TrackedReal)

Ambiguity #19
ReverseDiff.TrackedReal{V, D, O}(value) where {V, D, O} in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\tracked.jl:56
(::Type{T})(z::Complex) where T<:Real in Base at complex.jl:44

Possible fix, define
  ReverseDiff.TrackedReal{V, D, O}(::Complex) where {V, D, O}

Ambiguity #20
_reshape(parent::RecursiveArrayTools.VectorOfArray, dims::Tuple{Vararg{Int64, N}} where N) in RecursiveArrayTools at C:\Users\accou\.julia\packages\RecursiveArrayTools\IgoeN\src\vector_of_array.jl:262
_reshape(v::AbstractVector, dims::Tuple{Int64}) in Base at reshapedarray.jl:168

Possible fix, define
  _reshape(::RecursiveArrayTools.VectorOfArray{T, 1} where T, ::Tuple{Int64})

Ambiguity #21
==(x::Union{StatsBase.PValue, StatsBase.TestStat}, y::Real) in StatsBase at C:\Users\accou\.julia\packages\StatsBase\XgjIN\src\statmodels.jl:90
==(x::Real, y::AbstractIrrational) in Base at irrationals.jl:89

Possible fix, define
  ==(::Union{StatsBase.PValue, StatsBase.TestStat}, ::AbstractIrrational)

Ambiguity #22
ForwardDiff.Dual(args...) in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:73
(::Type{T})(x::Base.TwicePrecision) where T<:Number in Base at twiceprecision.jl:266

Possible fix, define
  ForwardDiff.Dual(::Base.TwicePrecision)

Ambiguity #23
ForwardDiff.Dual{T, V, N}(x) where {T, V, N} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:77 
(::Type{T})(z::Complex) where T<:Real in Base at complex.jl:44

Possible fix, define
  ForwardDiff.Dual{T, V, N}(::Complex) where {T, V, N}

Ambiguity #24
ForwardDiff.Dual(args...) in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:73
(::Type{T})(x::T) where T<:Number in Core at boot.jl:772

Possible fix, define
  ForwardDiff.Dual(::ForwardDiff.Dual)

Ambiguity #25
log(x::Irrational, y::ForwardDiff.Dual{Ty}) where Ty in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:145
log(::Irrational{:ℯ}, x::Number) in Base.MathConstants at mathconstants.jl:124

Possible fix, define
  log(::Irrational{:ℯ}, ::ForwardDiff.Dual{Ty}) where Ty

Ambiguity #26
copyto!(dest::AbstractArray, A::RecursiveArrayTools.ArrayPartition) in RecursiveArrayTools at C:\Users\accou\.julia\packages\RecursiveArrayTools\IgoeN\src\array_partition.jl:167
copyto!(dest::PermutedDimsArray, src::AbstractArray) in Base.PermutedDimsArrays at permuteddimsarray.jl:215

Possible fix, define
  copyto!(::PermutedDimsArray, ::RecursiveArrayTools.ArrayPartition)

Ambiguity #27
(ForwardDiff.Dual{T, V})(x) where {T, V} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:79
(::Type{T})(x::AbstractChar) where T<:Union{AbstractChar, Number} in Base at char.jl:50

Possible fix, define
  (ForwardDiff.Dual{T, V})(::AbstractChar) where {T, V}

Ambiguity #28
StatsBase.TestStat(v) in StatsBase at C:\Users\accou\.julia\packages\StatsBase\XgjIN\src\statmodels.jl:80
(::Type{T})(x::AbstractChar) where T<:Union{AbstractChar, Number} in Base at char.jl:50

Possible fix, define
  StatsBase.TestStat(::AbstractChar)

Ambiguity #29
==(a::Real, b::ReverseDiff.TrackedReal) in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\derivatives\scalars.jl:41
==(x::AbstractIrrational, y::Real) in Base at irrationals.jl:88

Possible fix, define
  ==(::AbstractIrrational, ::ReverseDiff.TrackedReal)

Ambiguity #30
ForwardDiff.Dual(args...) in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:73
(::Type{T})(x::AbstractChar) where T<:Union{AbstractChar, Number} in Base at char.jl:50

Possible fix, define
  ForwardDiff.Dual(::AbstractChar)

Ambiguity #31
(ForwardDiff.Dual{T, V})(x) where {T, V} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:79     
(::Type{T})(x::Base.TwicePrecision) where T<:Number in Base at twiceprecision.jl:266

Possible fix, define
  (ForwardDiff.Dual{T, V})(::Base.TwicePrecision) where {T, V}

Ambiguity #32
sum(x::ReverseDiff.TrackedArray{V, D}, dims) where {V, D} in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\derivatives\linalg\reductions.jl:41
sum(f, a::AbstractArray; dims, kw...) in Base at reducedim.jl:995

Possible fix, define
  sum(::ReverseDiff.TrackedArray{V, D}, ::AbstractArray) where {V, D}

Ambiguity #33
log(x::Real, y::ForwardDiff.Dual{Ty}) where Ty in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:145
log(::Irrational{:ℯ}, x::Number) in Base.MathConstants at mathconstants.jl:124

Possible fix, define
  log(::Irrational{:ℯ}, ::ForwardDiff.Dual{Ty}) where Ty

Ambiguity #34
==(x::ForwardDiff.Dual{Tx}, y::Real) where Tx in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:144
==(x::Real, y::AbstractIrrational) in Base at irrationals.jl:89

Possible fix, define
  ==(::ForwardDiff.Dual{Tx}, ::AbstractIrrational) where Tx

Ambiguity #35
(ForwardDiff.Dual{T})(value) where T in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:69
(::Type{T})(z::Complex) where T<:Real in Base at complex.jl:44

Possible fix, define
  (ForwardDiff.Dual{T})(::Complex) where T

Ambiguity #36
reshape(parent::FillArrays.AbstractFill, dims::Union{Colon, Int64}...) in FillArrays at C:\Users\accou\.julia\packages\FillArrays\MQ1cf\src\FillArrays.jl:232
reshape(parent::AbstractVector, ::Colon) in Base at reshapedarray.jl:115

Possible fix, define
  reshape(::FillArrays.AbstractFill{T, 1} where T, ::Colon)

Ambiguity #37
StatsBase.TestStat(v) in StatsBase at C:\Users\accou\.julia\packages\StatsBase\XgjIN\src\statmodels.jl:80
(::Type{T})(x::Base.TwicePrecision) where T<:Number in Base at twiceprecision.jl:266

Possible fix, define
  StatsBase.TestStat(::Base.TwicePrecision)

Ambiguity #38
ReverseDiff.TrackedReal{V, D, O}(value) where {V, D, O} in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\tracked.jl:56
(::Type{T})(x::T) where T<:Number in Core at boot.jl:772

Possible fix, define
  ReverseDiff.TrackedReal{V, D, O}(::ReverseDiff.TrackedReal{V, D, O}) where {V, D, O}

Ambiguity #39
copyto!(dest::AbstractArray, A::RecursiveArrayTools.ArrayPartition) in RecursiveArrayTools at C:\Users\accou\.julia\packages\RecursiveArrayTools\IgoeN\src\array_partition.jl:167
copyto!(dest::PermutedDimsArray{T, N}, src::AbstractArray{T, N}) where {T, N} in Base.PermutedDimsArrays at permuteddimsarray.jl:211

Possible fix, define
  copyto!(::PermutedDimsArray{T, 1}, ::RecursiveArrayTools.ArrayPartition{T}) where T

Ambiguity #40
==(y::Real, x::Union{StatsBase.PValue, StatsBase.TestStat}) in StatsBase at C:\Users\accou\.julia\packages\StatsBase\XgjIN\src\statmodels.jl:91
==(x::AbstractIrrational, y::Real) in Base at irrationals.jl:88

Possible fix, define
  ==(::AbstractIrrational, ::Union{StatsBase.PValue, StatsBase.TestStat})

Ambiguity #41
reshape(parent::FillArrays.AbstractFill, dims::Tuple{Vararg{Union{Colon, Int64}}}) in FillArrays at C:\Users\accou\.julia\packages\FillArrays\MQ1cf\src\FillArrays.jl:237
reshape(parent::AbstractVector, ::Tuple{Colon}) in Base at reshapedarray.jl:116

Possible fix, define
  reshape(::FillArrays.AbstractFill{T, 1} where T, ::Tuple{Colon})

Ambiguity #42
ForwardDiff.Dual{T, V, N}(x::Number) where {T, V, N} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:78
(::Type{T})(z::Complex) where T<:Real in Base at complex.jl:44

Possible fix, define
  ForwardDiff.Dual{T, V, N}(::Complex) where {T, V, N}

Ambiguity #43
(ForwardDiff.Dual{T, V})(x) where {T, V} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:79
(::Type{T})(z::Complex) where T<:Real in Base at complex.jl:44

Possible fix, define
  (ForwardDiff.Dual{T, V})(::Complex) where {T, V}

Ambiguity #44
convert(::Type{ForwardDiff.Dual{T, V, N}}, x) where {T, V, N} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:432
convert(::Type{T}, x::Base.TwicePrecision) where T<:Number in Base at twiceprecision.jl:273

Possible fix, define
  convert(::Type{ForwardDiff.Dual{T, V, N}}, ::Base.TwicePrecision) where {T, V, N}

Ambiguity #45
(ForwardDiff.Dual{T})(value) where T in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:69
(::Type{T})(x::AbstractChar) where T<:Union{AbstractChar, Number} in Base at char.jl:50

Possible fix, define
  (ForwardDiff.Dual{T})(::AbstractChar) where T

Ambiguity #46
(ForwardDiff.Dual{T, V})(x) where {T, V} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:79     
(::Type{T})(x::T) where T<:Number in Core at boot.jl:772

Possible fix, define
  (ForwardDiff.Dual{T, V})(::ForwardDiff.Dual{T, V}) where {T, V}

Ambiguity #47
ForwardDiff.Dual(args...) in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:73
(::Type{T})(z::Complex) where T<:Real in Base at complex.jl:44

Possible fix, define
  ForwardDiff.Dual(::Complex)

Ambiguity #48
ForwardDiff.Dual{T, V, N}(x) where {T, V, N} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:77
(::Type{T})(x::AbstractChar) where T<:Union{AbstractChar, Number} in Base at char.jl:50

Possible fix, define
  ForwardDiff.Dual{T, V, N}(::AbstractChar) where {T, V, N}

Ambiguity #49
ForwardDiff.Dual{T, V, N}(x) where {T, V, N} in ForwardDiff at C:\Users\accou\.julia\packages\ForwardDiff\pDtsf\src\dual.jl:77 
(::Type{T})(x::Base.TwicePrecision) where T<:Number in Base at twiceprecision.jl:266

Possible fix, define
  ForwardDiff.Dual{T, V, N}(::Base.TwicePrecision) where {T, V, N}

Ambiguity #50
==(a::ReverseDiff.TrackedReal, b::Real) in ReverseDiff at C:\Users\accou\.julia\packages\ReverseDiff\5MMPp\src\derivatives\scalars.jl:42
==(x::Real, y::AbstractIrrational) in Base at irrationals.jl:89

Possible fix, define
  ==(::ReverseDiff.TrackedReal, ::AbstractIrrational)

Method ambiguity: Test Failed at C:\Users\accou\.julia\packages\Aqua\HWLbM\src\ambiguities.jl:117
  Expression: success(pipeline(cmd; stdout = stdout, stderr = stderr))
Stacktrace:
 [1] macro expansion
   @ C:\Users\accou\.julia\juliaup\julia-1.8.0+0.x64\share\julia\stdlib\v1.8\Test\src\Test.jl:464 [inlined]
 [2] _test_ambiguities(packages::Vector{Base.PkgId}; color::Nothing, exclude::Vector{Any}, detect_ambiguities_options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Aqua C:\Users\accou\.julia\packages\Aqua\HWLbM\src\ambiguities.jl:117
Test Summary:    | Fail  Total   Time
Method ambiguity |    1      1  59.1s
ERROR: Some tests did not pass: 0 passed, 1 failed, 0 errored, 0 broken.
Langage dominant
Julia
Étoiles
1k
Forks
162
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de JuliaDiff/ForwardDiff.jl

Toutes les issues de JuliaDiff/ForwardDiff.jl

Issues similaires

Plus d'issues Julia

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.