Skip to content

Commit

Permalink
Deprecate no-op transpose fallback instead of error'ing.
Browse files Browse the repository at this point in the history
  • Loading branch information
Sacha0 committed Jul 11, 2016
1 parent 3f08daf commit cc0c3d0
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 2 deletions.
8 changes: 7 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,9 @@ Deprecated or removed

* `sub` and `slice` have been deprecated in favor of `view` ([#16972])

* The no-op `transpose` fallback has been deprecated. Consider introducing suitable
`transpose` methods or calling `permutedims(x, [2,1])` ([#13171], [#17075], [#17374]).

[PkgDev]: https://github.com/JuliaLang/PkgDev.jl
<!--- generated by NEWS-update.jl: -->
[#1090]: https://github.com/JuliaLang/julia/issues/1090
Expand All @@ -251,6 +254,7 @@ Deprecated or removed
[#11196]: https://github.com/JuliaLang/julia/issues/11196
[#11242]: https://github.com/JuliaLang/julia/issues/11242
[#13062]: https://github.com/JuliaLang/julia/issues/13062
[#13171]: https://github.com/JuliaLang/julia/issues/13171
[#13232]: https://github.com/JuliaLang/julia/issues/13232
[#13338]: https://github.com/JuliaLang/julia/issues/13338
[#13387]: https://github.com/JuliaLang/julia/issues/13387
Expand Down Expand Up @@ -299,5 +303,7 @@ Deprecated or removed
[#16645]: https://github.com/JuliaLang/julia/issues/16645
[#16731]: https://github.com/JuliaLang/julia/issues/16731
[#16972]: https://github.com/JuliaLang/julia/issues/16972
[#17266]: https://github.com/JuliaLang/julia/issues/17266
[#17037]: https://github.com/JuliaLang/julia/issues/17037
[#17075]: https://github.com/JuliaLang/julia/issues/17075
[#17266]: https://github.com/JuliaLang/julia/issues/17266
[#17374]: https://github.com/JuliaLang/julia/issues/17374
9 changes: 9 additions & 0 deletions base/deprecated.jl
Original file line number Diff line number Diff line change
Expand Up @@ -784,6 +784,15 @@ function symperm{Tv,Ti}(A::SparseMatrixCSC{Tv,Ti}, pinv::Vector{Ti})
"Pkg.add(\"SuiteSparse\") to install SuiteSparse on Julia v0.5."))
end

# Deprecate no-op transpose fallback. Please see #13171 and #17075.
function transpose(x)
depwarn(string("the no-op `transpose` fallback is deprecated, and no more specific ",
"`transpose` method for $(typeof(x)) exists. Consider `permutedims(x, [2, 1])` ",
"or writing a specific `transpose(x::$(typeof(x)))` method if appropriate."),
:transpose)
return x
end

# During the 0.5 development cycle, do not add any deprecations below this line
# To be deprecated in 0.6

Expand Down
1 change: 0 additions & 1 deletion base/operators.jl
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,6 @@ fldmod1{T<:Real}(x::T, y::T) = (fld1(x,y), mod1(x,y))
fldmod1{T<:Integer}(x::T, y::T) = (fld1(x,y), mod1(x,y))

# transpose
transpose(x) = throw(ArgumentError("transpose not implemented for $(typeof(x)). Consider permutedims."))
ctranspose(x) = conj(transpose(x))
conj(x) = x

Expand Down

0 comments on commit cc0c3d0

Please sign in to comment.