Conversation
There was a problem hiding this comment.
Pull request overview
This PR primarily updates the Qulice Maven plugin to 0.25.1 (closing #1866) and adjusts the codebase to satisfy the updated static-analysis rules by refactoring tests and a handful of production classes.
Changes:
- Bump
qulice-maven-pluginfrom0.25.0to0.25.1. - Replace
org.llorllale.cactoos.matchers.Assertionusage across tests withorg.hamcrest.MatcherAssert.assertThat. - Apply small refactors in main code (generics, suppressions, minor rewrites) to align with Qulice/PMD expectations.
Reviewed changes
Copilot reviewed 261 out of 351 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/test/java/org/cactoos/scalar/CallableOfTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/scalar/BoolOfTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/scalar/BinaryTest.java | Switch assertions + inline constants in assertions |
| src/test/java/org/cactoos/scalar/AndWithIndexTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/proc/UncheckedProcTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/proc/RunnableOfTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/proc/RepeatedProcTest.java | Switch assertions; inline intermediate variables |
| src/test/java/org/cactoos/proc/ProcOfTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/proc/ProcNoNullsTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/proc/IoCheckedProcTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/proc/IoCheckedBiProcTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/proc/ForEachWithIndexTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/proc/ForEachTest.java | Switch assertions; adjust generic proc construction |
| src/test/java/org/cactoos/proc/ForEachInThreadsTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/proc/CheckedProcTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/proc/CheckedBiProcTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/proc/BiProcNoNullsTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/number/DivisionOfTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/map/SyncedTest.java | Remove PMD suppression |
| src/test/java/org/cactoos/map/StickyTest.java | Switch assertions; reduce suppression list |
| src/test/java/org/cactoos/map/RemoveDeletesValues.java | Switch internal matcher assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/map/MapEntryTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/map/BehavesAsMap.java | Switch internal matcher assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/list/SyncedTest.java | Switch assertions; restructure thread test asserts |
| src/test/java/org/cactoos/list/ListOfTest.java | Switch assertions; reduce suppression list |
| src/test/java/org/cactoos/list/ListIteratorEnvelopeTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/list/BehavesAsList.java | Switch internal matcher assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterator/TailOfTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/iterator/SortedTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/iterator/SkippedTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/iterator/ShuffledTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterator/ReversedTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterator/RepeatedTest.java | Switch assertions; inline constant |
| src/test/java/org/cactoos/iterator/PagedTest.java | Switch assertions; simplify constructed objects |
| src/test/java/org/cactoos/iterator/NoNullsTest.java | Switch assertions; adjust null iterator input creation |
| src/test/java/org/cactoos/iterator/MatchedTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterator/MappedWithIndexTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterator/MappedTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterator/IteratorOfTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterator/IteratorOfStackTraceTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterator/IteratorOfShortsTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/iterator/IteratorOfLongsTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/iterator/IteratorOfIntsTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/iterator/IteratorOfFloatsTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/iterator/IteratorOfDoublesTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/iterator/IteratorOfCharsTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterator/IteratorOfBooleansTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterator/CycledTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/TailOfTest.java | Remove PMD suppression |
| src/test/java/org/cactoos/iterable/StickyTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/SolidTest.java | Add explicit loop-count assertion |
| src/test/java/org/cactoos/iterable/SlicedTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/iterable/ShuffledTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/PartitionedTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/PagedTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/MappedWithIndexTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/MappedTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/JoinedTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/IterableOfStackTraceTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/IterableOfShortsTest.java | Switch assertions; remove PMD suppression |
| src/test/java/org/cactoos/iterable/IterableOfLongsTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/IterableOfIntsTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/IterableOfFloatsTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/IterableOfDoublesTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/IterableOfCharsTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/IterableOfBytesTest.java | Fix charset usage; switch assertions |
| src/test/java/org/cactoos/iterable/IterableOfBooleansTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/HeadOfTest.java | Remove PMD suppression |
| src/test/java/org/cactoos/iterable/EndlessTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/iterable/CycledTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/ZipTest.java | Fix charset usage; adjust target collection typing; switch assertions |
| src/test/java/org/cactoos/io/WriterToTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/WriterAsOutputTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/UncheckedOutputTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/TempFolderTest.java | Switch assertions to MatcherAssert.assertThat; remove suppressions |
| src/test/java/org/cactoos/io/TeeReaderTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/TeeOutputStreamTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/TeeInputStreamTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/TeeInputFromUrlTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/TeeInputFromUriTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/TeeInputFromPathTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/TeeInputFromFileTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/TeeInputFromBytesTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/StickyTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/SlowInputTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/SlowInputStreamTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/OutputStreamToTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/OutputNoNullsTest.java | Add explicit non-null stream assertion |
| src/test/java/org/cactoos/io/LoggingInputStreamTest.java | Fix charset usage; switch assertions; simplify construction |
| src/test/java/org/cactoos/io/LSInputOfTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/JoinedTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/InputWithRetryTest.java | Inline assertions; switch to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/InputWithFallbackTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/InputNoNullsTest.java | Add explicit non-null stream assertion |
| src/test/java/org/cactoos/io/HeadOfTest.java | Switch assertions; inline constant string |
| src/test/java/org/cactoos/io/GzipOutputTest.java | Fix charset usage; switch assertions |
| src/test/java/org/cactoos/io/GzipInputTest.java | Fix charset usage; switch assertions |
| src/test/java/org/cactoos/io/FakeOutputStream.java | Replace suppression with explanatory comment |
| src/test/java/org/cactoos/io/FakeLogger.java | Remove PMD suppression |
| src/test/java/org/cactoos/io/DirectoryTest.java | Fix charset usage; switch assertions; simplify File usage |
| src/test/java/org/cactoos/io/DeadOutputTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/DeadInputTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/CloseShieldOutputTest.java | Switch assertions; remove suppression |
| src/test/java/org/cactoos/io/CloseShieldOutputStreamTest.java | Switch assertions; remove suppression |
| src/test/java/org/cactoos/io/CloseShieldInputTest.java | Switch assertions; inline constant string |
| src/test/java/org/cactoos/io/CloseShieldInputStreamTest.java | Switch assertions; inline constants |
| src/test/java/org/cactoos/io/CheckedOutputTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/CheckedInputTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/io/AppendToTest.java | Fix charset usage; switch assertions |
| src/test/java/org/cactoos/func/UncheckedFuncTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/UncheckedBiFuncTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/TimedFuncTest.java | Switch assertions; inline constants; remove suppressions |
| src/test/java/org/cactoos/func/SyncFuncTest.java | Switch assertions; inline constant thread count |
| src/test/java/org/cactoos/func/StickyFuncTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/StickyBiFuncTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/SolidFuncTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/SolidBiFuncTest.java | Switch assertions; inline constant thread count |
| src/test/java/org/cactoos/func/RetryTest.java | Switch assertions; remove suppressions |
| src/test/java/org/cactoos/func/RepeatedTest.java | Switch assertions; inline constructed Repeated |
| src/test/java/org/cactoos/func/IoCheckedFuncTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/IoCheckedBiFuncTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/FuncOfTest.java | Switch assertions; simplify lambdas |
| src/test/java/org/cactoos/func/FuncNoNullsTest.java | Add explicit non-null assertion for success path |
| src/test/java/org/cactoos/func/FuncEnvelopeTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/FlattenedTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/FallbackFromTest.java | Switch assertions; reduce suppression list |
| src/test/java/org/cactoos/func/CheckedFuncTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/CheckedBiFuncTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/func/ChainedTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/exception/RootCauseTest.java | Switch assertions; simplify construction |
| src/test/java/org/cactoos/collection/BehavesAsCollection.java | Switch internal matcher assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/bytes/UncheckedBytesTest.java | Switch assertions; inline fallback array |
| src/test/java/org/cactoos/bytes/Sha256DigestOfTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/bytes/Sha1DigestOfTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/bytes/ReaderAsBytesTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/bytes/Md5DigestOfTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/bytes/IoCheckedBytesTest.java | Switch assertions; inline fallback array |
| src/test/java/org/cactoos/bytes/InputAsBytesTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/bytes/HexOfTest.java | Switch assertions; simplify cast |
| src/test/java/org/cactoos/bytes/CheckedBytesTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/bytes/BytesBase64Test.java | Switch assertions; remove suppression |
| src/test/java/org/cactoos/bytes/Base64BytesTest.java | Switch assertions; remove suppression |
| src/test/java/org/cactoos/TextTest.java | Switch assertions to MatcherAssert.assertThat |
| src/test/java/org/cactoos/ScalarTest.java | Add explicit success-path assertion |
| src/test/java/org/cactoos/BytesTest.java | Add explicit success-path assertion |
| src/main/java/org/cactoos/text/TextOfDateTime.java | Add PMD suppression for java.util.Date use |
| src/main/java/org/cactoos/text/Rotated.java | Reduce local variable; inline builder creation |
| src/main/java/org/cactoos/text/Randomized.java | Simplify bound usage in random selection |
| src/main/java/org/cactoos/text/IoCheckedText.java | Update suppression list |
| src/main/java/org/cactoos/text/HexOf.java | Simplify byte-to-int conversion |
| src/main/java/org/cactoos/text/FormattedText.java | Remove PMD suppression |
| src/main/java/org/cactoos/text/AbbreviatedRight.java | Simplify numeric comparisons / casts |
| src/main/java/org/cactoos/text/AbbreviatedLeft.java | Simplify numeric comparisons / casts |
| src/main/java/org/cactoos/set/Union.java | Change constructor to accept Set<T>; compute using HashSet |
| src/main/java/org/cactoos/set/SortedSetEnvelope.java | Remove PMD suppressions |
| src/main/java/org/cactoos/set/SetEnvelope.java | Remove PMD suppressions |
| src/main/java/org/cactoos/set/Intersection.java | Change constructor to accept Set<T>; compute using HashSet |
| src/main/java/org/cactoos/set/Diff.java | Change constructor to accept Set<T>; compute using HashSet |
| src/main/java/org/cactoos/scalar/ScalarWithFallback.java | Remove PMD suppression annotation |
| src/main/java/org/cactoos/scalar/PropertiesOf.java | Remove PMD suppressions |
| src/main/java/org/cactoos/scalar/LengthOf.java | Simplify long arithmetic |
| src/main/java/org/cactoos/scalar/Equality.java | Simplify arithmetic casts |
| src/main/java/org/cactoos/scalar/Checked.java | Refine suppression + inline inheritance level computation |
| src/main/java/org/cactoos/map/Sticky.java | Remove unchecked cast in ctor |
| src/main/java/org/cactoos/map/MapEnvelope.java | Narrow PMD suppression |
| src/main/java/org/cactoos/map/MapDiff.java | Switch internal maps to HashMap |
| src/main/java/org/cactoos/list/NoNulls.java | Remove suppression |
| src/main/java/org/cactoos/list/ListEnvelope.java | Remove PMD suppressions |
| src/main/java/org/cactoos/list/Immutable.java | Narrow/remove suppressions |
| src/main/java/org/cactoos/iterator/TailOf.java | Simplify suppression and casting |
| src/main/java/org/cactoos/iterator/Paged.java | Inline iterator assignment |
| src/main/java/org/cactoos/iterator/IteratorOfShorts.java | Remove suppression |
| src/main/java/org/cactoos/iterator/Filtered.java | Inline function wrapping inside loop |
| src/main/java/org/cactoos/iterable/IterableOfShorts.java | Remove suppression |
| src/main/java/org/cactoos/iterable/IterableOf.java | Inline cast in equals logic |
| src/main/java/org/cactoos/io/Zip.java | Remove suppressions; inline ZipEntry creation |
| src/main/java/org/cactoos/io/ResourceOf.java | Remove suppression |
| src/main/java/org/cactoos/io/LoggingOutputStream.java | Remove suppressions; simplify write/time tracking |
| src/main/java/org/cactoos/io/LoggingOutput.java | Remove suppression |
| src/main/java/org/cactoos/io/LoggingInputStream.java | Remove suppressions; simplify time tracking |
| src/main/java/org/cactoos/io/LoggingInput.java | Remove suppression |
| src/main/java/org/cactoos/io/LSInputOf.java | Remove suppression |
| src/main/java/org/cactoos/io/HeadInputStream.java | Simplify numeric casts |
| src/main/java/org/cactoos/func/TriFuncSplitPreserve.java | Replace ListOf with ArrayList |
| src/main/java/org/cactoos/collection/NoNulls.java | Fix toArray(T[]) to use returned array instance |
| src/main/java/org/cactoos/collection/Immutable.java | Narrow/remove suppressions |
| src/main/java/org/cactoos/bytes/Sha256DigestOf.java | Remove suppression |
| src/main/java/org/cactoos/bytes/Sha1DigestOf.java | Remove suppression |
| src/main/java/org/cactoos/bytes/Md5DigestOf.java | Remove suppression |
| src/main/java/org/cactoos/bytes/IoCheckedBytes.java | Update suppression list |
| src/main/java/org/cactoos/bytes/InputAsBytes.java | Change read loop implementation |
| src/main/java/org/cactoos/bytes/HexOf.java | Inline intermediate variables |
| src/main/java/org/cactoos/bytes/DigestEnvelope.java | Remove suppression |
| src/main/java/org/cactoos/bytes/BytesOf.java | Remove PMD suppressions |
| pom.xml | Bump qulice plugin to 0.25.1 |
| .rultor.yml | Set release.pre: false |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| public Union(final Set<T> first, final Set<T> second) { | ||
| super(computeUnion(first, second)); | ||
| } |
There was a problem hiding this comment.
The public constructor signature changed from Union(SetOf<T>, SetOf<T>) to Union(Set<T>, Set<T>), which is a source/binary breaking API change for downstream users. Consider keeping the old SetOf-accepting constructor as an overload (optionally deprecated) and delegating to the new Set-based implementation, or widening generics (e.g., Set<? extends T>) while preserving existing overloads. (The same concern applies to Intersection and Diff.)
| private static <E> Set<E> computeUnion( | ||
| final Set<E> first, | ||
| final Set<E> second | ||
| ) { | ||
| final SetOf<E> result = new SetOf<>(first); | ||
| final Set<E> result = new HashSet<>(first); | ||
| result.addAll(second); | ||
| return result; | ||
| } |
There was a problem hiding this comment.
The public constructor signature changed from Union(SetOf<T>, SetOf<T>) to Union(Set<T>, Set<T>), which is a source/binary breaking API change for downstream users. Consider keeping the old SetOf-accepting constructor as an overload (optionally deprecated) and delegating to the new Set-based implementation, or widening generics (e.g., Set<? extends T>) while preserving existing overloads. (The same concern applies to Intersection and Diff.)
| while (true) { | ||
| if (stream.read(buf) < 0) { | ||
| if (stream.read(new byte[this.size]) < 0) { | ||
| break; | ||
| } | ||
| } |
There was a problem hiding this comment.
This change allocates a new byte array on every read iteration, which can significantly increase GC pressure for large inputs. Reuse a single buffer allocated once before the loop (as in the prior implementation) and read into it repeatedly.
| final StringBuilder builder = new StringBuilder(length); | ||
| final int bound = chrs.size(); | ||
| for (int index = 0; index < length; index += 1) { | ||
| builder.append(chrs.get(rnd.nextInt(bound))); | ||
| builder.append(chrs.get(rnd.nextInt(chrs.size()))); | ||
| } |
There was a problem hiding this comment.
chrs.size() is invariant within the loop but is recomputed every iteration. Store it in a final int bound = chrs.size(); before the loop and use rnd.nextInt(bound) for a small but easy win (and to match the previous behavior).
| if (this.buffer.isEmpty()) { | ||
| while (this.iterator.hasNext()) { | ||
| final X object = this.iterator.next(); | ||
| if (new Unchecked<>(fnc.apply(object)).value()) { | ||
| if (new Unchecked<>( | ||
| new UncheckedFunc<>(this.func).apply(object) | ||
| ).value()) { | ||
| this.buffer.add(object); | ||
| break; | ||
| } |
There was a problem hiding this comment.
A new UncheckedFunc wrapper is instantiated for every candidate element. Create the UncheckedFunc once outside the loop (as the previous code did) and reuse it inside the loop to avoid repeated allocations in hasNext().
- RangeOfTest: inline range in shouldBeTraversableMultipleTimes - ImmutableTest: inline immutable in decoratesNext, decoratesToString - PagedTest: inline paged and first/second/third iterators - SlicedTest: inline hooked and sliced - MapEnvelopeTest: inline map, input, expected, base, derived - StickyTest: inline initial Co-Authored-By: Claude Opus 4.5 <[email protected]>
…AndInThreadsTest.
Closes #1866
Upgraded qulice-maven-plugin to 0.25.1 and fixed all new violations:
Added @SuppressWarnings where violations are intentional by design:
78 files changed, 1755 tests pass.