JuliaRandom / JuliaRandom/RandomExtensions.jl

A lot of ambiguities due to too general `rand`signatures

Abierto
#13 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Julia
Estrellas
19
Forks
2
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

We are still using this quite heavily in Oscar land, but after playing around with https://github.com/JuliaTesting/Aqua.jl (which helps detecting method ambiguities), I noticed that RandomExtensions.jl leads to a lot of method ambiguities. For example, the methods
```
rand(X, ::Type{Tuple}, n::Integer)
@ RandomExtensions ~/.julia/packages/RandomExtensions/qAD6J/src/containers.jl:53
rand(X, t::Type{<:Array}, dims::Integer...)
@ RandomExtensions ~/.julia/packages/RandomExtensions/qAD6J/src/containers.jl:106
```
will make the pass-through methods
```
rand(T::MyAbstractType, v...) = rand(GLOBAL_RNG, T, v...)
```
ambiguous for certain input types (note that I cannot pin down the type of `v` directly, since `T` is abstract and there are many possible combinations).

They are usually fine in practice, but it just looks bad. There are so many, that ignoring them might hide real ambiguities.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.