@@ -1620,7 +1620,7 @@ defalg(v::AbstractArray) = DEFAULT_STABLE
1620
1620
defalg (v:: AbstractArray{<:Union{Number, Missing}} ) = DEFAULT_UNSTABLE
1621
1621
defalg (v:: AbstractArray{Missing} ) = DEFAULT_UNSTABLE # for method disambiguation
1622
1622
defalg (v:: AbstractArray{Union{}} ) = DEFAULT_UNSTABLE # for method disambiguation
1623
- defalg (v:: NTuple ) = DEFAULT_STABLE
1623
+ defalg (v) = DEFAULT_STABLE
1624
1624
1625
1625
"""
1626
1626
sort!(v; alg::Base.Sort.Algorithm=Base.Sort.defalg(v), lt=isless, by=identity, rev::Bool=false, order::Base.Order.Ordering=Base.Order.Forward)
@@ -1739,13 +1739,20 @@ function sort!(v::AbstractVector{T};
1739
1739
end
1740
1740
1741
1741
"""
1742
- sort(v::Union{AbstractVector, NTuple}; alg::Base.Sort.Algorithm=Base.Sort.defalg(v), lt=isless, by=identity, rev::Bool=false, order::Base.Order.Ordering=Base.Order.Forward)
1742
+ sort(v; alg::Base.Sort.Algorithm=Base.Sort.defalg(v), lt=isless, by=identity, rev::Bool=false, order::Base.Order.Ordering=Base.Order.Forward)
1743
+ sort(v::NTuple; kws...)::NTuple
1743
1744
1744
1745
Variant of [`sort!`](@ref) that returns a sorted copy of `v` leaving `v` itself unmodified.
1745
1746
1747
+ When calling `sort` on the [`keys`](@ref) or [`values](@ref) of a dictionary, `v` is
1748
+ collected and then sorted in place.
1749
+
1746
1750
!!! compat "Julia 1.12"
1747
1751
Sorting `NTuple`s requires Julia 1.12 or later.
1748
1752
1753
+ !!! compat "Julia 1.13"
1754
+ Sorting keys sets and values iterators requires Julia 1.13 or later.
1755
+
1749
1756
# Examples
1750
1757
```jldoctest
1751
1758
julia> v = [3, 1, 2];
@@ -1761,10 +1768,18 @@ julia> v
1761
1768
3
1762
1769
1
1763
1770
2
1771
+
1772
+ julia> sort(values(Dict('a'=>2, 'b'=>1)))
1773
+ 2-element Vector{Int64}:
1774
+ 1
1775
+ 2
1764
1776
```
1765
1777
"""
1766
1778
sort (v:: AbstractVector ; kws... ) = sort! (copymutable (v); kws... )
1767
1779
1780
+ const COLLECT_ON_SORT_TYPES = Union{Base. KeySet, Base. ValueIterator}
1781
+ sort (v:: COLLECT_ON_SORT_TYPES ; kws... ) = sort! (collect (v); kws... )
1782
+
1768
1783
function sort (x:: NTuple ;
1769
1784
alg:: Algorithm = defalg (x),
1770
1785
lt= isless,
0 commit comments