diff --git a/src/host/abstractarray.jl b/src/host/abstractarray.jl index 98c0973d..0fe9f5d1 100644 --- a/src/host/abstractarray.jl +++ b/src/host/abstractarray.jl @@ -27,12 +27,21 @@ Base.print_array(io::IO, X::AnyGPUArray) = Base.print_array(io, adapt(ToArray(), X)) # show -Base._show_nonempty(io::IO, X::AnyGPUArray, prefix::String) = +function Base._show_nonempty(io::IO, X::AnyGPUArray, prefix::String) + print(io, typeof(X).name.name, "(") Base._show_nonempty(io, adapt(ToArray(), X), prefix) -Base._show_empty(io::IO, X::AnyGPUArray) = + print(io, ")") +end +function Base._show_empty(io::IO, X::AnyGPUArray) + print(io, typeof(X).name.name, "(") Base._show_empty(io, adapt(ToArray(), X)) -Base.show_vector(io::IO, v::AnyGPUArray, args...) = + print(io, ")") +end +function Base.show_vector(io::IO, v::AnyGPUArray, args...) + print(io, typeof(v).name.name, "(") Base.show_vector(io, adapt(ToArray(), v), args...) + print(io, ")") +end ## collect to CPU (discarding wrapper type) diff --git a/test/testsuite/base.jl b/test/testsuite/base.jl index b2ac8a14..54843ab5 100644 --- a/test/testsuite/base.jl +++ b/test/testsuite/base.jl @@ -283,13 +283,13 @@ end # due to different definition of `Int` type # print([1]) shows as [1] on 64bit but Int64[1] on 32bit msg = showstr(A) - @test msg == "[1]" || msg == "Int64[1]" + @test occursin("([1])", msg) || occursin("(Int64[1])", msg) msg = replstr(B) @test occursin(Regex("^2×2 $AT{Int64,\\s?2.*}:\n 1 2\n 3 4\$"), msg) msg = showstr(B) - @test msg == "[1 2; 3 4]" || msg == "Int64[1 2; 3 4]" + @test occursin("([1 2; 3 4])", msg) || occursin("(Int64[1 2; 3 4])", msg) # the printing of Adjoint depends on global state msg = replstr(A')