Skip to content

Commit a74b984

Browse files
committed
Removing various unchecked warnings
1 parent 21dfe75 commit a74b984

File tree

21 files changed

+80
-91
lines changed

21 files changed

+80
-91
lines changed

src/main/java/com/jnape/palatable/lambda/adt/Either.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.jnape.palatable.lambda.functions.specialized.SideEffect;
1111
import com.jnape.palatable.lambda.functor.Applicative;
1212
import com.jnape.palatable.lambda.functor.Bifunctor;
13+
import com.jnape.palatable.lambda.functor.Functor;
1314
import com.jnape.palatable.lambda.functor.builtin.Lazy;
1415
import com.jnape.palatable.lambda.io.IO;
1516
import com.jnape.palatable.lambda.monad.Monad;
@@ -320,11 +321,12 @@ public Either<L, R> catchError(Fn1<? super L, ? extends Monad<R, Either<L, ?>>>
320321
* {@inheritDoc}
321322
*/
322323
@Override
323-
@SuppressWarnings("unchecked")
324324
public final <R2, App extends Applicative<?, App>, TravB extends Traversable<R2, Either<L, ?>>,
325325
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super R, ? extends Applicative<R2, App>> fn,
326326
Fn1<? super TravB, ? extends AppTrav> pure) {
327-
return (AppTrav) match(l -> pure.apply((TravB) left(l)), r -> fn.apply(r).fmap(Either::right));
327+
return match(l -> pure.apply(Either.<L, R2>left(l).<TravB>coerce()),
328+
r -> fn.apply(r).<Either<L, R2>>fmap(Either::right).<TravB>fmap(Functor::coerce))
329+
.coerce();
328330
}
329331

330332
/**

src/main/java/com/jnape/palatable/lambda/adt/These.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,12 @@ public final <C> These<A, C> pure(C c) {
8585
* {@inheritDoc}
8686
*/
8787
@Override
88-
@SuppressWarnings("unchecked")
89-
public <C, App extends Applicative<?, App>, TravB extends Traversable<C, These<A, ?>>,
90-
AppTrav extends Applicative<TravB, App>>
91-
AppTrav traverse(Fn1<? super B, ? extends Applicative<C, App>> fn, Fn1<? super TravB, ? extends AppTrav> pure) {
92-
return match(a -> pure.apply((TravB) a(a)),
93-
b -> fn.apply(b).fmap(this::pure).<TravB>fmap(Applicative::coerce).coerce(),
94-
into((a, b) -> fn.apply(b).fmap(c -> both(a, c)).<TravB>fmap(Applicative::coerce).coerce()));
88+
public <C, App extends Applicative<?, App>, TravC extends Traversable<C, These<A, ?>>,
89+
AppTrav extends Applicative<TravC, App>>
90+
AppTrav traverse(Fn1<? super B, ? extends Applicative<C, App>> fn, Fn1<? super TravC, ? extends AppTrav> pure) {
91+
return match(a -> pure.apply(These.<A, C>a(a).<TravC>coerce()),
92+
b -> fn.apply(b).fmap(this::pure).<TravC>fmap(Applicative::coerce).coerce(),
93+
into((a, b) -> fn.apply(b).fmap(c -> both(a, c)).<TravC>fmap(Applicative::coerce).coerce()));
9594
}
9695

9796
/**
@@ -126,6 +125,9 @@ public final <C> These<A, C> zip(Applicative<Fn1<? super B, ? extends C>, These<
126125
return MonadRec.super.zip(appFn).coerce();
127126
}
128127

128+
/**
129+
* {@inheritDoc}
130+
*/
129131
@Override
130132
public <C> Lazy<These<A, C>> lazyZip(
131133
Lazy<? extends Applicative<Fn1<? super B, ? extends C>, These<A, ?>>> lazyAppFn) {

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice2.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,10 @@ public <C> Choice2<A, C> trampolineM(Fn1<? super B, ? extends MonadRec<Recursive
165165
* {@inheritDoc}
166166
*/
167167
@Override
168-
@SuppressWarnings("unchecked")
169168
public <C, App extends Applicative<?, App>, TravB extends Traversable<C, Choice2<A, ?>>,
170169
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super B, ? extends Applicative<C, App>> fn,
171170
Fn1<? super TravB, ? extends AppTrav> pure) {
172-
return match(a -> pure.apply((TravB) a(a)),
171+
return match(a -> pure.apply(Choice2.<A, C>a(a).<TravB>coerce()),
173172
b -> fn.apply(b).<Choice2<A, C>>fmap(Choice2::b).<TravB>fmap(Functor::coerce).coerce());
174173
}
175174

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice3.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,13 +167,13 @@ public <D> Choice3<A, B, D> trampolineM(
167167
* {@inheritDoc}
168168
*/
169169
@Override
170-
@SuppressWarnings("unchecked")
171170
public <D, App extends Applicative<?, App>, TravB extends Traversable<D, Choice3<A, B, ?>>,
172171
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super C, ? extends Applicative<D, App>> fn,
173172
Fn1<? super TravB, ? extends AppTrav> pure) {
174-
return match(a -> pure.apply((TravB) Choice3.<A, B, D>a(a)).coerce(),
175-
b -> pure.apply((TravB) Choice3.<A, B, D>b(b)).coerce(),
176-
c -> fn.apply(c).<Choice3<A, B, D>>fmap(Choice3::c).<TravB>fmap(Functor::coerce).coerce());
173+
return match(a -> pure.apply(Choice3.<A, B, D>a(a).<TravB>coerce()),
174+
b -> pure.apply(Choice3.<A, B, D>b(b).<TravB>coerce()),
175+
c -> fn.apply(c).<Choice3<A, B, D>>fmap(Choice3::c).<TravB>fmap(Functor::coerce))
176+
.coerce();
177177
}
178178

179179
/**

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice4.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,14 +171,14 @@ public <E> Choice4<A, B, C, E> trampolineM(
171171
* {@inheritDoc}
172172
*/
173173
@Override
174-
@SuppressWarnings("unchecked")
175174
public <E, App extends Applicative<?, App>, TravB extends Traversable<E, Choice4<A, B, C, ?>>,
176175
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super D, ? extends Applicative<E, App>> fn,
177176
Fn1<? super TravB, ? extends AppTrav> pure) {
178-
return match(a -> pure.apply((TravB) Choice4.<A, B, C, E>a(a)).coerce(),
179-
b -> pure.apply((TravB) Choice4.<A, B, C, E>b(b)).coerce(),
180-
c -> pure.apply((TravB) Choice4.<A, B, C, E>c(c)),
181-
d -> fn.apply(d).<Choice4<A, B, C, E>>fmap(Choice4::d).<TravB>fmap(Functor::coerce).coerce());
177+
return match(a -> pure.apply(Choice4.<A, B, C, E>a(a).<TravB>coerce()),
178+
b -> pure.apply(Choice4.<A, B, C, E>b(b).<TravB>coerce()),
179+
c -> pure.apply(Choice4.<A, B, C, E>c(c).<TravB>coerce()),
180+
d -> fn.apply(d).<Choice4<A, B, C, E>>fmap(Choice4::d).<TravB>fmap(Functor::coerce))
181+
.coerce();
182182
}
183183

184184
/**

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice5.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -173,16 +173,16 @@ public <F> Choice5<A, B, C, D, F> trampolineM(
173173
* {@inheritDoc}
174174
*/
175175
@Override
176-
@SuppressWarnings("unchecked")
177176
public <F, App extends Applicative<?, App>, TravB extends Traversable<F, Choice5<A, B, C, D, ?>>,
178177
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super E, ? extends Applicative<F, App>> fn,
179178
Fn1<? super TravB, ? extends AppTrav> pure) {
180-
return match(a -> pure.apply((TravB) Choice5.<A, B, C, D, F>a(a)).coerce(),
181-
b -> pure.apply((TravB) Choice5.<A, B, C, D, F>b(b)).coerce(),
182-
c -> pure.apply((TravB) Choice5.<A, B, C, D, F>c(c)),
183-
d -> pure.apply((TravB) Choice5.<A, B, C, D, F>d(d)),
179+
return match(a -> pure.apply(Choice5.<A, B, C, D, F>a(a).<TravB>coerce()),
180+
b -> pure.apply(Choice5.<A, B, C, D, F>b(b).<TravB>coerce()),
181+
c -> pure.apply(Choice5.<A, B, C, D, F>c(c).<TravB>coerce()),
182+
d -> pure.apply(Choice5.<A, B, C, D, F>d(d).<TravB>coerce()),
184183
e -> fn.apply(e).<Choice5<A, B, C, D, F>>fmap(Choice5::e)
185-
.<TravB>fmap(Applicative::coerce).coerce());
184+
.<TravB>fmap(Applicative::coerce))
185+
.coerce();
186186
}
187187

188188
/**

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice6.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,18 +82,16 @@ public <G> Choice6<A, B, C, D, E, G> fmap(Fn1<? super F, ? extends G> fn) {
8282
* {@inheritDoc}
8383
*/
8484
@Override
85-
@SuppressWarnings("unchecked")
8685
public <G> Choice6<A, B, C, D, G, F> biMapL(Fn1<? super E, ? extends G> fn) {
87-
return (Choice6<A, B, C, D, G, F>) Bifunctor.super.biMapL(fn);
86+
return (Choice6<A, B, C, D, G, F>) Bifunctor.super.<G>biMapL(fn);
8887
}
8988

9089
/**
9190
* {@inheritDoc}
9291
*/
9392
@Override
94-
@SuppressWarnings("unchecked")
9593
public <G> Choice6<A, B, C, D, E, G> biMapR(Fn1<? super F, ? extends G> fn) {
96-
return (Choice6<A, B, C, D, E, G>) Bifunctor.super.biMapR(fn);
94+
return (Choice6<A, B, C, D, E, G>) Bifunctor.super.<G>biMapR(fn);
9795
}
9896

9997
/**
@@ -179,17 +177,17 @@ public <G> Choice6<A, B, C, D, E, G> trampolineM(
179177
* {@inheritDoc}
180178
*/
181179
@Override
182-
@SuppressWarnings("unchecked")
183180
public <G, App extends Applicative<?, App>, TravB extends Traversable<G, Choice6<A, B, C, D, E, ?>>,
184181
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super F, ? extends Applicative<G, App>> fn,
185182
Fn1<? super TravB, ? extends AppTrav> pure) {
186-
return match(a -> pure.apply((TravB) Choice6.<A, B, C, D, E, G>a(a)).coerce(),
187-
b -> pure.apply((TravB) Choice6.<A, B, C, D, E, G>b(b)).coerce(),
188-
c -> pure.apply((TravB) Choice6.<A, B, C, D, E, G>c(c)),
189-
d -> pure.apply((TravB) Choice6.<A, B, C, D, E, G>d(d)),
190-
e -> pure.apply((TravB) Choice6.<A, B, C, D, E, G>e(e)),
183+
return match(a -> pure.apply(Choice6.<A, B, C, D, E, G>a(a).<TravB>coerce()),
184+
b -> pure.apply(Choice6.<A, B, C, D, E, G>b(b).<TravB>coerce()),
185+
c -> pure.apply(Choice6.<A, B, C, D, E, G>c(c).<TravB>coerce()),
186+
d -> pure.apply(Choice6.<A, B, C, D, E, G>d(d).<TravB>coerce()),
187+
e -> pure.apply(Choice6.<A, B, C, D, E, G>e(e).<TravB>coerce()),
191188
f -> fn.apply(f).<Choice6<A, B, C, D, E, G>>fmap(Choice6::f)
192-
.<TravB>fmap(Applicative::coerce).coerce());
189+
.<TravB>fmap(Applicative::coerce))
190+
.coerce();
193191
}
194192

195193
/**

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice7.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -182,18 +182,18 @@ public <H> Choice7<A, B, C, D, E, F, H> trampolineM(
182182
* {@inheritDoc}
183183
*/
184184
@Override
185-
@SuppressWarnings("unchecked")
186185
public <H, App extends Applicative<?, App>, TravB extends Traversable<H, Choice7<A, B, C, D, E, F, ?>>,
187186
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super G, ? extends Applicative<H, App>> fn,
188187
Fn1<? super TravB, ? extends AppTrav> pure) {
189-
return match(a -> pure.apply((TravB) Choice7.<A, B, C, D, E, F, H>a(a)).coerce(),
190-
b -> pure.apply((TravB) Choice7.<A, B, C, D, E, F, H>b(b)).coerce(),
191-
c -> pure.apply((TravB) Choice7.<A, B, C, D, E, F, H>c(c)),
192-
d -> pure.apply((TravB) Choice7.<A, B, C, D, E, F, H>d(d)),
193-
e -> pure.apply((TravB) Choice7.<A, B, C, D, E, F, H>e(e)),
194-
f -> pure.apply((TravB) Choice7.<A, B, C, D, E, F, H>f(f)),
188+
return match(a -> pure.apply(Choice7.<A, B, C, D, E, F, H>a(a).<TravB>coerce()),
189+
b -> pure.apply(Choice7.<A, B, C, D, E, F, H>b(b).<TravB>coerce()),
190+
c -> pure.apply(Choice7.<A, B, C, D, E, F, H>c(c).<TravB>coerce()),
191+
d -> pure.apply(Choice7.<A, B, C, D, E, F, H>d(d).<TravB>coerce()),
192+
e -> pure.apply(Choice7.<A, B, C, D, E, F, H>e(e).<TravB>coerce()),
193+
f -> pure.apply(Choice7.<A, B, C, D, E, F, H>f(f).<TravB>coerce()),
195194
g -> fn.apply(g).<Choice7<A, B, C, D, E, F, H>>fmap(Choice7::g)
196-
.<TravB>fmap(Applicative::coerce).coerce());
195+
.<TravB>fmap(Applicative::coerce))
196+
.coerce();
197197
}
198198

199199
/**

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice8.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import com.jnape.palatable.lambda.adt.hlist.HList;
77
import com.jnape.palatable.lambda.adt.hlist.Tuple8;
88
import com.jnape.palatable.lambda.functions.Fn1;
9-
import com.jnape.palatable.lambda.functions.specialized.Pure;
109
import com.jnape.palatable.lambda.functions.recursion.RecursiveResult;
10+
import com.jnape.palatable.lambda.functions.specialized.Pure;
1111
import com.jnape.palatable.lambda.functor.Applicative;
1212
import com.jnape.palatable.lambda.functor.Bifunctor;
1313
import com.jnape.palatable.lambda.functor.builtin.Lazy;
@@ -177,19 +177,19 @@ public <I> Choice8<A, B, C, D, E, F, G, I> trampolineM(
177177
* {@inheritDoc}
178178
*/
179179
@Override
180-
@SuppressWarnings("unchecked")
181180
public <I, App extends Applicative<?, App>, TravB extends Traversable<I, Choice8<A, B, C, D, E, F, G, ?>>,
182181
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super H, ? extends Applicative<I, App>> fn,
183182
Fn1<? super TravB, ? extends AppTrav> pure) {
184-
return match(a -> pure.apply((TravB) Choice8.<A, B, C, D, E, F, G, I>a(a)).coerce(),
185-
b -> pure.apply((TravB) Choice8.<A, B, C, D, E, F, G, I>b(b)).coerce(),
186-
c -> pure.apply((TravB) Choice8.<A, B, C, D, E, F, G, I>c(c)),
187-
d -> pure.apply((TravB) Choice8.<A, B, C, D, E, F, G, I>d(d)),
188-
e -> pure.apply((TravB) Choice8.<A, B, C, D, E, F, G, I>e(e)),
189-
f -> pure.apply((TravB) Choice8.<A, B, C, D, E, F, G, I>f(f)),
190-
g -> pure.apply((TravB) Choice8.<A, B, C, D, E, F, G, I>g(g)),
183+
return match(a -> pure.apply(Choice8.<A, B, C, D, E, F, G, I>a(a).<TravB>coerce()),
184+
b -> pure.apply(Choice8.<A, B, C, D, E, F, G, I>b(b).<TravB>coerce()),
185+
c -> pure.apply(Choice8.<A, B, C, D, E, F, G, I>c(c).<TravB>coerce()),
186+
d -> pure.apply(Choice8.<A, B, C, D, E, F, G, I>d(d).<TravB>coerce()),
187+
e -> pure.apply(Choice8.<A, B, C, D, E, F, G, I>e(e).<TravB>coerce()),
188+
f -> pure.apply(Choice8.<A, B, C, D, E, F, G, I>f(f).<TravB>coerce()),
189+
g -> pure.apply(Choice8.<A, B, C, D, E, F, G, I>g(g).<TravB>coerce()),
191190
h -> fn.apply(h).<Choice8<A, B, C, D, E, F, G, I>>fmap(Choice8::h)
192-
.<TravB>fmap(Applicative::coerce).coerce());
191+
.<TravB>fmap(Applicative::coerce))
192+
.coerce();
193193
}
194194

195195
/**

src/main/java/com/jnape/palatable/lambda/adt/hlist/Tuple2.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,18 +135,16 @@ public <_2Prime> Tuple2<_1, _2Prime> fmap(Fn1<? super _2, ? extends _2Prime> fn)
135135
* {@inheritDoc}
136136
*/
137137
@Override
138-
@SuppressWarnings("unchecked")
139138
public <_1Prime> Tuple2<_1Prime, _2> biMapL(Fn1<? super _1, ? extends _1Prime> fn) {
140-
return (Tuple2<_1Prime, _2>) Bifunctor.super.biMapL(fn);
139+
return (Tuple2<_1Prime, _2>) Bifunctor.super.<_1Prime>biMapL(fn);
141140
}
142141

143142
/**
144143
* {@inheritDoc}
145144
*/
146145
@Override
147-
@SuppressWarnings("unchecked")
148146
public <_2Prime> Tuple2<_1, _2Prime> biMapR(Fn1<? super _2, ? extends _2Prime> fn) {
149-
return (Tuple2<_1, _2Prime>) Bifunctor.super.biMapR(fn);
147+
return (Tuple2<_1, _2Prime>) Bifunctor.super.<_2Prime>biMapR(fn);
150148
}
151149

152150
/**

src/main/java/com/jnape/palatable/lambda/adt/hlist/Tuple3.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,27 +108,24 @@ public Tuple3<_2, _1, _3> invert() {
108108
* {@inheritDoc}
109109
*/
110110
@Override
111-
@SuppressWarnings("unchecked")
112111
public <_3Prime> Tuple3<_1, _2, _3Prime> fmap(Fn1<? super _3, ? extends _3Prime> fn) {
113-
return (Tuple3<_1, _2, _3Prime>) MonadRec.super.fmap(fn);
112+
return (Tuple3<_1, _2, _3Prime>) MonadRec.super.<_3Prime>fmap(fn);
114113
}
115114

116115
/**
117116
* {@inheritDoc}
118117
*/
119118
@Override
120-
@SuppressWarnings("unchecked")
121119
public <_2Prime> Tuple3<_1, _2Prime, _3> biMapL(Fn1<? super _2, ? extends _2Prime> fn) {
122-
return (Tuple3<_1, _2Prime, _3>) Bifunctor.super.biMapL(fn);
120+
return (Tuple3<_1, _2Prime, _3>) Bifunctor.super.<_2Prime>biMapL(fn);
123121
}
124122

125123
/**
126124
* {@inheritDoc}
127125
*/
128126
@Override
129-
@SuppressWarnings("unchecked")
130127
public <_3Prime> Tuple3<_1, _2, _3Prime> biMapR(Fn1<? super _3, ? extends _3Prime> fn) {
131-
return (Tuple3<_1, _2, _3Prime>) Bifunctor.super.biMapR(fn);
128+
return (Tuple3<_1, _2, _3Prime>) Bifunctor.super.<_3Prime>biMapR(fn);
132129
}
133130

134131
/**

src/main/java/com/jnape/palatable/lambda/adt/hlist/Tuple5.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,18 +170,16 @@ public <_5Prime> Tuple5<_1, _2, _3, _4, _5Prime> fmap(Fn1<? super _5, ? extends
170170
* {@inheritDoc}
171171
*/
172172
@Override
173-
@SuppressWarnings("unchecked")
174173
public <_4Prime> Tuple5<_1, _2, _3, _4Prime, _5> biMapL(Fn1<? super _4, ? extends _4Prime> fn) {
175-
return (Tuple5<_1, _2, _3, _4Prime, _5>) Bifunctor.super.biMapL(fn);
174+
return (Tuple5<_1, _2, _3, _4Prime, _5>) Bifunctor.super.<_4Prime>biMapL(fn);
176175
}
177176

178177
/**
179178
* {@inheritDoc}
180179
*/
181180
@Override
182-
@SuppressWarnings("unchecked")
183181
public <_5Prime> Tuple5<_1, _2, _3, _4, _5Prime> biMapR(Fn1<? super _5, ? extends _5Prime> fn) {
184-
return (Tuple5<_1, _2, _3, _4, _5Prime>) Bifunctor.super.biMapR(fn);
182+
return (Tuple5<_1, _2, _3, _4, _5Prime>) Bifunctor.super.<_5Prime>biMapR(fn);
185183
}
186184

187185
/**

src/main/java/com/jnape/palatable/lambda/adt/hlist/Tuple6.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -198,18 +198,16 @@ public <_6Prime> Tuple6<_1, _2, _3, _4, _5, _6Prime> fmap(Fn1<? super _6, ? exte
198198
* {@inheritDoc}
199199
*/
200200
@Override
201-
@SuppressWarnings("unchecked")
202201
public <_5Prime> Tuple6<_1, _2, _3, _4, _5Prime, _6> biMapL(Fn1<? super _5, ? extends _5Prime> fn) {
203-
return (Tuple6<_1, _2, _3, _4, _5Prime, _6>) Bifunctor.super.biMapL(fn);
202+
return (Tuple6<_1, _2, _3, _4, _5Prime, _6>) Bifunctor.super.<_5Prime>biMapL(fn);
204203
}
205204

206205
/**
207206
* {@inheritDoc}
208207
*/
209208
@Override
210-
@SuppressWarnings("unchecked")
211209
public <_6Prime> Tuple6<_1, _2, _3, _4, _5, _6Prime> biMapR(Fn1<? super _6, ? extends _6Prime> fn) {
212-
return (Tuple6<_1, _2, _3, _4, _5, _6Prime>) Bifunctor.super.biMapR(fn);
210+
return (Tuple6<_1, _2, _3, _4, _5, _6Prime>) Bifunctor.super.<_6Prime>biMapR(fn);
213211
}
214212

215213
/**

src/main/java/com/jnape/palatable/lambda/adt/hlist/Tuple7.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -226,18 +226,16 @@ public <_7Prime> Tuple7<_1, _2, _3, _4, _5, _6, _7Prime> fmap(Fn1<? super _7, ?
226226
* {@inheritDoc}
227227
*/
228228
@Override
229-
@SuppressWarnings("unchecked")
230229
public <_6Prime> Tuple7<_1, _2, _3, _4, _5, _6Prime, _7> biMapL(Fn1<? super _6, ? extends _6Prime> fn) {
231-
return (Tuple7<_1, _2, _3, _4, _5, _6Prime, _7>) Bifunctor.super.biMapL(fn);
230+
return (Tuple7<_1, _2, _3, _4, _5, _6Prime, _7>) Bifunctor.super.<_6Prime>biMapL(fn);
232231
}
233232

234233
/**
235234
* {@inheritDoc}
236235
*/
237236
@Override
238-
@SuppressWarnings("unchecked")
239237
public <_7Prime> Tuple7<_1, _2, _3, _4, _5, _6, _7Prime> biMapR(Fn1<? super _7, ? extends _7Prime> fn) {
240-
return (Tuple7<_1, _2, _3, _4, _5, _6, _7Prime>) Bifunctor.super.biMapR(fn);
238+
return (Tuple7<_1, _2, _3, _4, _5, _6, _7Prime>) Bifunctor.super.<_7Prime>biMapR(fn);
241239
}
242240

243241
/**

src/main/java/com/jnape/palatable/lambda/adt/hlist/Tuple8.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,18 +254,16 @@ public <_8Prime> Tuple8<_1, _2, _3, _4, _5, _6, _7, _8Prime> fmap(Fn1<? super _8
254254
* {@inheritDoc}
255255
*/
256256
@Override
257-
@SuppressWarnings("unchecked")
258257
public <_7Prime> Tuple8<_1, _2, _3, _4, _5, _6, _7Prime, _8> biMapL(Fn1<? super _7, ? extends _7Prime> fn) {
259-
return (Tuple8<_1, _2, _3, _4, _5, _6, _7Prime, _8>) Bifunctor.super.biMapL(fn);
258+
return (Tuple8<_1, _2, _3, _4, _5, _6, _7Prime, _8>) Bifunctor.super.<_7Prime>biMapL(fn);
260259
}
261260

262261
/**
263262
* {@inheritDoc}
264263
*/
265264
@Override
266-
@SuppressWarnings("unchecked")
267265
public <_8Prime> Tuple8<_1, _2, _3, _4, _5, _6, _7, _8Prime> biMapR(Fn1<? super _8, ? extends _8Prime> fn) {
268-
return (Tuple8<_1, _2, _3, _4, _5, _6, _7, _8Prime>) Bifunctor.super.biMapR(fn);
266+
return (Tuple8<_1, _2, _3, _4, _5, _6, _7, _8Prime>) Bifunctor.super.<_8Prime>biMapR(fn);
269267
}
270268

271269
/**

src/main/java/com/jnape/palatable/lambda/adt/hmap/HMap.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.jnape.palatable.lambda.adt.Maybe;
44
import com.jnape.palatable.lambda.adt.hlist.Tuple2;
5+
import com.jnape.palatable.lambda.functions.builtin.fn1.Downcast;
56

67
import java.util.ArrayList;
78
import java.util.Collection;
@@ -45,9 +46,8 @@ private HMap(Map<TypeSafeKey<?, ?>, Object> table) {
4546
* @param <B> the value type
4647
* @return Maybe the value at this key
4748
*/
48-
@SuppressWarnings("unchecked")
4949
public <A, B> Maybe<B> get(TypeSafeKey<A, B> key) {
50-
return maybe((A) table.get(key)).fmap(view(key));
50+
return maybe(Downcast.<A, Object>downcast(table.get(key))).fmap(view(key));
5151
}
5252

5353
/**

0 commit comments

Comments
 (0)