File tree Expand file tree Collapse file tree 1 file changed +2
-7
lines changed
commons-core/src/main/scala/com/avsystem/commons/serialization/cbor Expand file tree Collapse file tree 1 file changed +2
-7
lines changed Original file line number Diff line number Diff line change @@ -6,7 +6,6 @@ import com.avsystem.commons.meta._
66import com .avsystem .commons .misc .ValueOf
77import com .avsystem .commons .serialization .GenCodec .OOOFieldsObjectCodec
88import com .avsystem .commons .serialization ._
9- import monix .execution .atomic .AtomicBoolean
109
1110/**
1211 * Like [[HasGenCodec ]] but generates a codec optimized for writing and reading CBOR via [[CborOutput ]] and
@@ -268,11 +267,7 @@ trait CborAdtPolyInstances[C[_]] {
268267 * Like [[HasCborCodec ]] but for parameterized (generic) data types.
269268 */
270269abstract class HasPolyCborCodec [C [_]](implicit instances : MacroInstances [CborOptimizedCodecs , CborAdtPolyInstances [C ]]) {
271- private val alreadyValidated = AtomicBoolean ( false )
270+ private lazy val validatedInstances = instances( CborOptimizedCodecs , this ).setup(_.metadata[ Nothing ].validate() )
272271
273- implicit def codec [T : GenCodec ]: GenObjectCodec [C [T ]] = {
274- val codec = instances(CborOptimizedCodecs , this ).cborCodec(! alreadyValidated.get())
275- if (! alreadyValidated.get()) alreadyValidated.set(true )
276- codec
277- }
272+ implicit def codec [T : GenCodec ]: GenObjectCodec [C [T ]] = validatedInstances.cborCodec(false )
278273}
You can’t perform that action at this time.
0 commit comments