diff --git a/src/stack.jl b/src/stack.jl index ff773c3e5..3c8ece6c8 100644 --- a/src/stack.jl +++ b/src/stack.jl @@ -19,6 +19,8 @@ end pop!(s::Stack) = pop!(s.store) +empty!(s::Stack) = (empty!(s.store); s) + start(st::Stack) = start(reverse_iter(st.store)) next(st::Stack, s) = next(reverse_iter(st.store), s) done(st::Stack, s) = done(reverse_iter(st.store), s) diff --git a/test/test_stack_and_queue.jl b/test/test_stack_and_queue.jl index 0c5f0e92d..48c79c9a9 100644 --- a/test/test_stack_and_queue.jl +++ b/test/test_stack_and_queue.jl @@ -30,6 +30,10 @@ @test isempty(s) == (i == n) @test length(s) == n - i end + + s = Stack(Int,1) + push!(s, 10) + @test length(empty!(s)) == 0 #test that iter returns a LIFO collection