Skip to content

Backports for 0.18 #721

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 42 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
7663313
Switch to GitHub Actions for CI (#714)
timholy Dec 15, 2020
f3d15dc
Fix MutableBinaryHeap, same issue as #686
Jan 18, 2021
ebf1444
bump version
oxinabox Jan 19, 2021
2c18185
CI this branch
oxinabox Jan 19, 2021
08ae3a7
inline a bit to remove an inference trigger
ChrisRackauckas Aug 9, 2021
f2628b7
Merge pull request #747 from ChrisRackauckas/inference
oxinabox Aug 9, 2021
e53a05f
Fixed long-standing bug in balanced_tree.jl that corrupted SortedMult…
StephenVavasis Dec 7, 2021
2a7e849
bump version
oxinabox Dec 8, 2021
39766be
fix syntax for `return_type`, fixes test on 1.8
KristofferC Feb 19, 2022
612d0ef
bump patch
oxinabox May 6, 2022
d0dd2a0
Compat compat
oxinabox May 24, 2022
468234c
fix: check key values, not `get` return for haskey(k, orderedrobindic…
mrufsvold Jun 29, 2023
4bc0db2
bump version
oxinabox Jun 29, 2023
eb136b9
remove type piracy on eltype etc
oxinabox Aug 3, 2023
3776698
bump version
oxinabox Aug 3, 2023
430bec9
remove tests for `sort(::Dict)`
ericphanson Dec 3, 2023
64e2230
Merge pull request #882 from JuliaCollections/eph/backport-rm-sort-pi…
oxinabox Dec 4, 2023
ccd675d
Resize to new size. Fixes #788
dantaras Feb 9, 2022
72af1f6
bump version
Jan 5, 2024
685f7bc
Merge pull request #889 from eulerkochy/release-0.18
eulerkochy Jan 5, 2024
b5ba47d
Backport deque memory fix (#898)
nickrobinson251 Feb 20, 2024
37912cf
Conditional import of Base.isfull
KronosTheLate Feb 6, 2024
5156e74
bump version
oxinabox Mar 5, 2024
2dbfb80
Delete unnecessary methods to fix invalidations
JamesWrigley Apr 12, 2024
91a76c9
Bump version to 0.18.19
JamesWrigley Apr 12, 2024
88efafb
Merge pull request #905 from JamesWrigley/v0.18.19
oxinabox Apr 12, 2024
266216a
mark heapify to inline
oxinabox Apr 18, 2024
45f9985
bump version
oxinabox Apr 18, 2024
d81186f
Fix dynamic dispatch in Deque
Mellich-2 Feb 4, 2025
caa1bd0
Merge pull request #920 from Mellich-2/fix-dynamic-dispatch-popfirst
oxinabox Feb 10, 2025
f95d795
Update CI for release-0.18 branch (#925)
fingolfin Mar 17, 2025
c971189
CI: fix codecov integration, cleanup tagbot
fingolfin Mar 17, 2025
a21121f
CI: use julia-actions/cache
fingolfin Mar 17, 2025
15f62da
CI: limit concurrency for PRs
fingolfin Mar 17, 2025
e8ce846
CI: don't force arch unless needed
fingolfin Mar 17, 2025
8576615
CI: workaround TagBot issues
fingolfin Mar 18, 2025
8851202
Nicer _unsetindex! fix
fingolfin Mar 18, 2025
b5550c9
Version 0.18.21
fingolfin Mar 18, 2025
6682b5a
Switch to Documenter 1.x
fingolfin Mar 17, 2025
6b3b386
CI: add Documenter workflow to release-0.18 branch
fingolfin Mar 18, 2025
6259876
CI: tweak Documenter workflow
fingolfin Mar 18, 2025
6691373
Version 0.18.22
fingolfin Mar 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: CI
on:
pull_request:
push:
branches:
- release-0.18
tags: '*'

concurrency:
# group by workflow and ref; the last slightly strange component ensures that for pull
# requests, we limit to 1 concurrent job, but for the default repository branch we don't
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref_name != github.event.repository.default_branch || github.run_number }}
# Cancel intermediate builds, but only if it is a pull request build.
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.0'
- '1'
# - 'nightly'
os:
- ubuntu-latest
- macos-latest
- windows-latest
arch:
- ''
exclude:
- os: macos-latest # Apple Silicon
version: '1.0'
arch: ''
include:
- os: macos-latest # Apple Silicon
version: '1.0'
# Install an x86_64 build of Julia, and run it under Rosetta 2 emulation
arch: 'x64'
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ (matrix.arch == '') && runner.arch || matrix.arch }}
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
29 changes: 29 additions & 0 deletions .github/workflows/Documenter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Documenter
on:
push:
branches: [main, master]
tags: ["v*"]
pull_request:
workflow_dispatch:

permissions:
actions: write # needed to allow julia-actions/cache to delete old caches that it has created
contents: write # needed to allow deploying docs
statuses: write

jobs:
Documenter:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1' # replace this with whatever version you need
show-versioninfo: true # this causes versioninfo to be printed to the action log
- uses: julia-actions/cache@v2 # cache using https://github.com/julia-actions/cache
- uses: julia-actions/julia-buildpkg@v1 # if package requires Pkg.build()
- uses: julia-actions/julia-docdeploy@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
24 changes: 22 additions & 2 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,31 @@
name: TagBot
on:
schedule:
- cron: 0 * * * *
issue_comment:
types:
- created
workflow_dispatch:
inputs:
lookback:
default: 3
# permissions:
# actions: read
# checks: read
# contents: write
# deployments: read
# issues: read
# discussions: read
# packages: read
# pages: read
# pull-requests: read
# repository-projects: read
# security-events: read
# statuses: read
jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
runs-on: ubuntu-latest
steps:
- uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
ssh: ${{ secrets.DOCUMENTER_KEY }}
50 changes: 0 additions & 50 deletions .travis.yml

This file was deleted.

5 changes: 2 additions & 3 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
name = "DataStructures"
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
version = "0.18.8"

version = "0.18.22"

[deps]
Compat = "34da2185-b29b-5c13-b0c7-acf172513d20"
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"

[compat]
Compat = "3.0.0"
Compat = "3,4"
OrderedCollections = "1.1.0"
julia = "1"

Expand Down
36 changes: 0 additions & 36 deletions appveyor.yml

This file was deleted.

2 changes: 1 addition & 1 deletion docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"

[compat]
Documenter = "0.23"
Documenter = "1"
1 change: 1 addition & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ DocMeta.setdocmeta!(DataStructures, :DocTestSetup, :(using DataStructures); recu

makedocs(
sitename = "DataStructures.jl",
warnonly = true, # FIXME: address all warnings and resolve them
pages = [
"index.md",
"deque.md",
Expand Down
4 changes: 2 additions & 2 deletions docs/src/priority-queue.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ julia> # Julia code

julia> # Insert keys with associated priorities
pq["a"] = 10; pq["b"] = 5; pq["c"] = 15; pq
PriorityQueue{Any,Any,Base.Order.ForwardOrdering} with 3 entries:
PriorityQueue{Any, Any, Base.Order.ForwardOrdering} with 3 entries:
"b" => 5
"a" => 10
"c" => 15

julia> # Change the priority of an existing key
pq["a"] = 0; pq
PriorityQueue{Any,Any,Base.Order.ForwardOrdering} with 3 entries:
PriorityQueue{Any, Any, Base.Order.ForwardOrdering} with 3 entries:
"a" => 0
"b" => 5
"c" => 15
Expand Down
6 changes: 3 additions & 3 deletions docs/src/robin_dict.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ Examples:

```jldoctest
julia> d = RobinDict{Int, Char}(1 => 'a', 2 => 'b')
RobinDict{Int64,Char} with 2 entries:
RobinDict{Int64, Char} with 2 entries:
2 => 'b'
1 => 'a'

julia> d[3] = 'c';

julia> collect(d)
3-element Array{Pair{Int64,Char},1}:
3-element Vector{Pair{Int64, Char}}:
2 => 'b'
3 => 'c'
1 => 'a'
Expand All @@ -31,7 +31,7 @@ julia> d[1]
'a': ASCII/Unicode U+0061 (category Ll: Letter, lowercase)

julia> d
RobinDict{Int64,Char} with 2 entries:
RobinDict{Int64, Char} with 2 entries:
3 => 'c'
1 => 'a'

Expand Down
6 changes: 3 additions & 3 deletions docs/src/swiss_dict.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ Examples:

```jldoctest
julia> d = SwissDict(1 => 'a', 2 => 'b')
SwissDict{Int64,Char} with 2 entries:
SwissDict{Int64, Char} with 2 entries:
1 => 'a'
2 => 'b'

julia> d[3] = 'c';

julia> collect(d)
3-element Array{Pair{Int64,Char},1}:
3-element Vector{Pair{Int64, Char}}:
1 => 'a'
2 => 'b'
3 => 'c'
Expand All @@ -30,7 +30,7 @@ julia> d[1]
'a': ASCII/Unicode U+0061 (category Ll: Letter, lowercase)

julia> d
SwissDict{Int64,Char} with 2 entries:
SwissDict{Int64, Char} with 2 entries:
1 => 'a'
3 => 'c'

Expand Down
8 changes: 7 additions & 1 deletion src/DataStructures.jl
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,10 @@
include("splay_tree.jl")

include("deprecations.jl")
end

@static if VERSION <= v"1.3"
_unsetindex!(a, i) = a

Check warning on line 117 in src/DataStructures.jl

View check run for this annotation

Codecov / codecov/patch

src/DataStructures.jl#L117

Added line #L117 was not covered by tests
else
import Base._unsetindex!
end
end
2 changes: 0 additions & 2 deletions src/accumulator.jl
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,6 @@ Base.setindex!(ct::Accumulator, x, v) = setindex!(ct.map, x, v)

Base.haskey(ct::Accumulator, x) = haskey(ct.map, x)

Base.keys(ct::Accumulator) = keys(ct.map)

Base.values(ct::Accumulator) = values(ct.map)

Base.sum(ct::Accumulator) = sum(values(ct.map))
Expand Down
Loading
Loading