It is slightly different, but here is a case I recently found. List<VersionTag> versionTags = versions.getVersionTags();
This method is internal though. public List<VersionTag> getVersionTags() { return Collections.unmodifiableList(this.versionTags); } Thanks, Mark > On May 8, 2020, at 1:25 PM, Mark Hanson <mhan...@pivotal.io> wrote: > > How does everyone feel about situations involving raw types? > > Such as public interface A is returning Region and not Region<K,V> is that an > acceptable suppression? > > Thanks, > Mark > >> On May 8, 2020, at 1:20 PM, John Blum <jb...@pivotal.io> wrote: >> >> Agreed, but the following (inside tests) does not work in all cases, i.e. >> >> Region<String, String> region... >> >> Particularly if "region" is passed to a method with a different type >> signature. >> >> I am trying to find/think of the situation I encounter from time to time, >> even when I use the *wildcard* signature (i.e. Region<?, ?>), but cannot >> currently find it (*#ugh*). >> >> Anyway, the point is, if the test is really not concerned with the type of >> values (*keys*, *values*) being stored in the mock *Region* then rawtypes (or >> sometimes Region<?, ?>) are useful in some cases since the point of the >> test is not about the data but perhaps about *Region* configuration in >> general, so adding types detracts (adds undue noise) to the code under test >> (IMO). >> >> It depends and is subjective. >> >> I agree, though, in general, @SuppressWarnings should be kept to a minimum >> and used only when necessary. >> >> -j >> >> On Fri, May 8, 2020 at 1:09 PM Kirk Lund <kl...@apache.org> wrote: >> >>> Actually there is an alternative to using @SuppressWarnings for Mockito >>> mocks: >>> >>> Region<String, String> region = cast(mock(Region.class)); >>> >>> private static <T> T cast(Object object) { >>> return (T) object; >>> } >>> >>> Personally, I'd prefer to see warnings or workarounds like above than see >>> lots of @SuppressWarnings littered throughout our code base. I think it's a >>> smell of bad code. >>> >>> On Fri, May 8, 2020 at 12:44 PM Jacob Barrett <jbarr...@pivotal.io> wrote: >>> >>>> >>>> >>>>> On May 8, 2020, at 12:41 PM, Donal Evans <doev...@pivotal.io> wrote: >>>>> >>>>> Is there a consensus on what constitutes a benign warning? I think the >>>> only >>>>> times I use @SuppressWarnings is in parameterized tests to suppress the >>>>> unused method warning for the parameters method, or for unchecked >>> casts, >>>> as >>>>> below: >>>>> >>>>> PartitionedRegion detailRegion1 = mock(PartitionedRegion.class); >>>>> when(cache.getRegion(regionPath1)).thenReturn(detailRegion1); >>>>> >>>>> where the thenReturn() would complain, since it's expecting to return a >>>>> Region<Object, Object>. >>>>> >>>>> Would these be considered things that could safely just be ignored (and >>>> so >>>>> for which I can turn off inspection), or is the use of >>> @SuppressWarnings >>>>> here warranted? >>>> >>>> This is a legitimate suppression. There is no other way to correct the >>>> dysfunctional nature of Java Generics than to @SuppressWarnings. In this >>>> case though only that statement should be suppressed. >>>> >>>> -Jake >>>> >>>> >>> >> >> >> -- >> -John >> Spring Data Team >