From 51d532342a6f2b30832edd6b68f6cfb8340905a8 Mon Sep 17 00:00:00 2001 From: Roger-luo Date: Wed, 24 Apr 2019 21:33:08 +0800 Subject: [PATCH] fix https://github.com/QuantumBFS/YaoBlocks.jl/issues/21 --- src/register.jl | 2 +- test/register.jl | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/register.jl b/src/register.jl index 87df1b6..84905c6 100644 --- a/src/register.jl +++ b/src/register.jl @@ -114,7 +114,7 @@ ArrayReg(r::ArrayReg{B}) where B = ArrayReg{B}(copy(r.state)) Base.copy(r::ArrayReg) = ArrayReg(r) Base.similar(r::ArrayRegOrAdjointArrayReg{B}) where B = ArrayReg{B}(similar(state(r))) -function Base.copyto!(dst::R, src::R) where {R <: ArrayRegOrAdjointArrayReg} +function Base.copyto!(dst::ArrayRegOrAdjointArrayReg, src::ArrayRegOrAdjointArrayReg) copyto!(state(dst), state(src)) return dst end diff --git a/test/register.jl b/test/register.jl index a2cb843..8f87ffa 100644 --- a/test/register.jl +++ b/test/register.jl @@ -116,3 +116,11 @@ end focus!(r, 2:4) @test sum(r.state, dims=2) ≈ ArrayReg(bit"011").state end + +@testset "YaoBlocks.jl/issues/21" begin + st = rand(ComplexF64, 16, 2) + r1 = ArrayReg(view(st, :, 1)) + r2 = ArrayReg(rand(ComplexF64, 16, 1)) + copyto!(r1, r2) + @test r1 == r2 +end