From de7623ac94a81f47048e5ee149eb5fd449d2cdc5 Mon Sep 17 00:00:00 2001 From: JohnnyChen Date: Tue, 9 Oct 2018 03:49:17 +0800 Subject: [PATCH] use variable assignment to do "copy" --- src/tracker/array.jl | 2 +- src/tracker/scalar.jl | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/tracker/array.jl b/src/tracker/array.jl index b8b06471..00fe4cc4 100644 --- a/src/tracker/array.jl +++ b/src/tracker/array.jl @@ -43,7 +43,7 @@ end Base.print_array(io::IO, x::TrackedArray) = Base.print_array(io, data(x)) -Base.copy(x::TrackedArray) = copy(data(x)) +Base.copy(x::TrackedArray) = x Base.setindex!(xs::TrackedArray, v, i...) = error("Can't differentiate `setindex!`") diff --git a/src/tracker/scalar.jl b/src/tracker/scalar.jl index ba83d937..e37ee843 100644 --- a/src/tracker/scalar.jl +++ b/src/tracker/scalar.jl @@ -23,9 +23,7 @@ end Base.decompose(x::TrackedReal) = Base.decompose(data(x)) -Base.copy(x::TrackedReal) = copy(data(x)) - -Base.convert(::Type{T}, x::TrackedReal{S}) where {T<:Real,S} = convert(T, data(x)) +Base.copy(x::TrackedReal) = x Base.convert(::Type{TrackedReal{T}}, x::TrackedReal{T}) where T = x