-
Bug
-
Resolution: Fixed
-
P3
-
9
-
b175
-
Not verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8182832 | 10 | Doug Lea | P3 | Resolved | Fixed | b14 |
JDK-8182536 | 9.0.4 | Doug Lea | P3 | Resolved | Fixed | b01 |
ArrayDeque#addAll spec says:
Adds all of the elements in the specified collection at the end of this deque, as if by calling addLast(E) on each one, in the order that they are returned by the collection's iterator.
Because we feel that two below aspects of the aforementioned spec of overriding method are not mentioned in the super class spec of overridden method and hence we believe this change requires a CCC approval request and we noticed that there is no CCC request created.
1. calling addLast
2. in the order returned by the iterator
Overridden method in the base class (or super class) has the following specification from AbstractCollection#addAll (below) which does not confirm to overriding method spec because
1.it does not mentions explicitly about the order of the given collectors iterator and
2.it does not state adding means adding elements at the end or calling add / addLast method.
AbstractCollection#addAll specification:
"Adds all of the elements in the specified collection to this collection (optional operation). The behavior of this operation is undefined if the specified collection is modified while the operation is in progress. (This implies that the behavior of this call is undefined if the specified collection is this collection, and this collection is nonempty.)"
Adds all of the elements in the specified collection at the end of this deque, as if by calling addLast(E) on each one, in the order that they are returned by the collection's iterator.
Because we feel that two below aspects of the aforementioned spec of overriding method are not mentioned in the super class spec of overridden method and hence we believe this change requires a CCC approval request and we noticed that there is no CCC request created.
1. calling addLast
2. in the order returned by the iterator
Overridden method in the base class (or super class) has the following specification from AbstractCollection#addAll (below) which does not confirm to overriding method spec because
1.it does not mentions explicitly about the order of the given collectors iterator and
2.it does not state adding means adding elements at the end or calling add / addLast method.
AbstractCollection#addAll specification:
"Adds all of the elements in the specified collection to this collection (optional operation). The behavior of this operation is undefined if the specified collection is modified while the operation is in progress. (This implies that the behavior of this call is undefined if the specified collection is this collection, and this collection is nonempty.)"
- backported by
-
JDK-8182536 add spec for Deque.addAll
-
- Resolved
-
-
JDK-8182832 add spec for Deque.addAll
-
- Resolved
-
- relates to
-
JDK-8164793 new ArrayDeque(2**N) allocates backing array of size 2**(N+1)
-
- Resolved
-
-
JDK-8167202 ArrayDeque improvements
-
- Closed
-
-
JDK-8181580 No CCC for LinkedBlockingDeque#addAll
-
- Closed
-