diff --git a/NEWS.md b/NEWS.md index 8c06002f2e758a..f4b4d8ecbb3636 100644 --- a/NEWS.md +++ b/NEWS.md @@ -427,6 +427,13 @@ Deprecated or removed * `whos` has been renamed `varinfo`, and now returns a markdown table instead of printing output ([#12131]). + * Uninitialized `RowVector` constructors of the form `RowVector{T}(shape...)` have been + deprecated in favor of equivalents accepting `uninitialized` (an alias for + `Uninitialized()`) as their first argument, as in + `RowVector{T}(uninitialized, shape...)`. For example, `RowVector{Int}(3)` is now + `RowVector{Int}(uninitialized, 3)`, and `RowVector{Float32}((1, 4))` is now + `RowVector{Float32}(uninitialized, (1, 4))` ([#24786]). + * `writecsv(io, a; opts...)` has been deprecated in favor of `writedlm(io, a, ','; opts...)` ([#23529]). diff --git a/base/deprecated.jl b/base/deprecated.jl index 30d76b3f8763f2..b3dd14c4ee4a32 100644 --- a/base/deprecated.jl +++ b/base/deprecated.jl @@ -2109,6 +2109,12 @@ end @deprecate chol!(x::Number, uplo) chol(x) false end +# deprecate RowVector{T}(shape...) constructors to RowVector{T}(uninitialized, shape...) equivalents +@deprecate RowVector{T}(n::Int) where {T} RowVector{T}(uninitialized, n) +@deprecate RowVector{T}(n1::Int, n2::Int) where {T} RowVector{T}(uninitialized, n1, n2) +@deprecate RowVector{T}(n::Tuple{Int}) where {T} RowVector{T}(uninitializd, n) +@deprecate RowVector{T}(n::Tuple{Int,Int}) where {T} RowVector{T}(uninitialized, n) + @deprecate cumsum(A::AbstractArray) cumsum(A, 1) @deprecate cumsum_kbn(A::AbstractArray) cumsum_kbn(A, 1) @deprecate cumprod(A::AbstractArray) cumprod(A, 1) diff --git a/base/linalg/rowvector.jl b/base/linalg/rowvector.jl index b4c0c5338a26b1..3d37026c05c017 100644 --- a/base/linalg/rowvector.jl +++ b/base/linalg/rowvector.jl @@ -45,11 +45,6 @@ const ConjRowVector{T,CV<:ConjVector} = RowVector{T,CV} @inline RowVector{T}(::Uninitialized, n::Tuple{Int,Int}) where {T} = n[1] == 1 ? RowVector{T}(Vector{transpose_type(T)}(uninitialized, n[2])) : error("RowVector expects 1×N size, got $n") -# to deprecate, RowVector{T}(shape...) constructors -@inline RowVector{T}(n::Int) where {T} = RowVector{T}(uninitialized, n) -@inline RowVector{T}(n1::Int, n2::Int) where {T} = RowVector{T}(uninitialized, n1, n2) -@inline RowVector{T}(n::Tuple{Int}) where {T} = RowVector{T}(uninitializd, n) -@inline RowVector{T}(n::Tuple{Int,Int}) where {T} = RowVector{T}(uninitialized, n) # Conversion of underlying storage convert(::Type{RowVector{T,V}}, rowvec::RowVector) where {T,V<:AbstractVector} =