From 00cb7f42aafc2d76d9161ec2f288cef6dd63737e Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Sat, 4 Nov 2017 22:50:58 -0700 Subject: Synchronize `Target.Cacher#cachedTarget` call, to match the thread-safety we get from `lazy val`s --- core/src/main/scala/forge/Target.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'core') diff --git a/core/src/main/scala/forge/Target.scala b/core/src/main/scala/forge/Target.scala index a829d433..71d8e52b 100644 --- a/core/src/main/scala/forge/Target.scala +++ b/core/src/main/scala/forge/Target.scala @@ -35,7 +35,7 @@ object Target{ trait Cacher{ private[this] val cacherLazyMap = mutable.Map.empty[sourcecode.Enclosing, Target[_]] protected[this] def cachedTarget[T](t: => Target[T]) - (implicit c: sourcecode.Enclosing): Target[T] = { + (implicit c: sourcecode.Enclosing): Target[T] = synchronized{ cacherLazyMap.getOrElseUpdate(c, t).asInstanceOf[Target[T]] } } -- cgit v1.2.3