`@opt_out` scope problem
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Comienza reproduciendo las dos llamadas a @opt_out e inspeccionando la salida de @macroexpand mostrada en el issue. Rastrea cómo la macro resuelve los objetivos de frule y rrule, y luego verifica que un objetivo no importado produzca un método para ChainRulesCore.rrule sin el comportamiento unexpected-target o undefined-name.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This macro only accepts a few functions. But if the ones it accepts aren't imported, it quietly does the wrong thing. Surely this should always make a method for ChainRulesCore.rrule:
julia> using ChainRulesCore: @opt_out
julia> ChainRulesCore.@opt_out *(::Rotation, ::Rotation)
ERROR: LoadError: Unexpected opt-out target. Exprected frule or rrule, got: *
julia> ChainRulesCore.@opt_out rrule(::typeof(*), ::Rotation, ::Rotation)
ERROR: LoadError: UndefVarError: ChainRulesCore not defined
in expression starting at REPL[3]:1
julia> using ChainRulesCore
julia> ChainRulesCore.@opt_out rrule(::typeof(*), ::Rotation, ::Rotation)
rrule (generic function with 1 method)
julia> @macroexpand ChainRulesCore.@opt_out rrule(::typeof(*), ::Rotation, ::Rotation)
quote
ChainRulesCore.no_rrule(::typeof(*), ::Rotation, ::Rotation) = ChainRulesCore.nothing
rrule(::typeof(*), ::Rotation, ::Rotation) = ChainRulesCore.nothing
end
- Lenguaje dominante
- Julia
- Estrellas
- 267
- Forks
- 66
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 9
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 JuliaDiff/ChainRulesCore.jl
-
Destructuring/iterating a `Tangent` does not unthunk fields, unlike `getindex`/`getproperty`Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
JuliaDiff/ChainRulesCore.jl#712 ·
Los mantenedores suelen responder en 1 día
-
variable scope of `@thunk`Posiblemente ocupada @chengchingwen la tomó hace 621 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
JuliaDiff/ChainRulesCore.jl#684 ·
Los mantenedores suelen responder en 1 día
-
good first issue Structural Tangent
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
JuliaDiff/ChainRulesCore.jl#669 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
JuliaDiff/ChainRulesCore.jl#668 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
-
breaking
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
JuliaDiff/ChainRulesCore.jl#665 ·
Los mantenedores suelen responder en 1 día
Todos los issues de JuliaDiff/ChainRulesCore.jl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
JuliaDiff/TaylorSeries.jl#445 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
SciML/PETScDiffEq.jl#362 ·
Los mantenedores suelen responder en 1 día
-
Prescribed ice velocities never get their halos filled, so ice is created at a periodic seamAbierto🕷️ bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
CliMA/ClimaSeaIce.jl#203 ·
Los mantenedores suelen responder en 3 días
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
JuliaPhysics/BeamletOptics.jl#221 ·
Los mantenedores suelen responder en 1 día
-
release preparation spack
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día