mirror of
https://github.com/ysoftdevs/odc-analyzer.git
synced 2026-01-14 15:53:53 +01:00
Fixed a mysterious compile error that appears just in some cases.
Before the fix, incremental build sometimes used to pass, but clean builds used to fail all the time. This is the reason why I committed code that was not compilable.
This commit is contained in:
@@ -1,6 +1,15 @@
|
||||
@(dep: GroupedDependency, suppressionXmlIdOption: Option[String => String] = None, addLink: Boolean = true, addButtons: Boolean = true)
|
||||
@import com.ysoft.odc.Confidence
|
||||
@import scala.math.Ordered.orderingToOrdered
|
||||
@implicitOrdering = @{
|
||||
// This implicit should not be theoretically needed, but missing this used to cause somehow non-deterministic scalac behavior:
|
||||
// The first ….sortBy expression used to pass, while the second one used to fail sometimes. Even though both expressions are essentially the same.
|
||||
// When these expressions are swapped, still the first (after swapping) one passes and the second one fails, no matter which one is the first and
|
||||
// which is the second. So, it looks like some compiler bug related to mutable state.
|
||||
// It also seems to be related to some compiler cache. It is somehow possible to compile it by incremental compilation and some code changes, but
|
||||
// clean build deterministically fails at the second expression.
|
||||
// So, making the implicit explicit is a workaround for this issue.
|
||||
Ordering.Tuple4[Confidence.Value, String, String, String]
|
||||
}
|
||||
|
||||
@if(!dep.identifiers.exists(_.confidence >= Confidence.High)){
|
||||
<span class="badge">file: @dep.fileNames.toSeq.sorted.mkString(", ")@if(addButtons){<span class="btn-xs library-identification-badge-hack"> </span>}</span>
|
||||
|
||||
Reference in New Issue
Block a user