Why sbt (1.3.5) fail to resolve identical dependencies in strict mode?
> cat build.sbt
conflictManager := sbt.ConflictManager.strict
libraryDependencies += "io.grpc" % "grpc-all" % "1.26.0"
sbt:test> compile
[error] stack trace is suppressed; run last update for the full output
[error] (update) lmcoursier.internal.shaded.coursier.error.conflict.StrictRule: Rule Strict(Set(ModuleMatcher(*:*)),Set(),false,true,false) not satisfied: lmcoursier.internal.shaded.coursier.params.rule.Strict$EvictedDependencies: Unsatisfied rule Strict(*:*): Found evicted dependencies:
[error]
[error] io.grpc:grpc-api:1.26.0 ([1.26.0] wanted)
[error] └─ io.grpc:grpc-all:1.26.0
[error]
[error] io.grpc:grpc-api:1.26.0 ([1.26.0] wanted)
[error] └─ io.grpc:grpc-auth:1.26.0
[error] └─ io.grpc:grpc-all:1.26.0
[error]
[error] io.grpc:grpc-api:1.26.0 ([1.26.0] wanted)
[error] └─ io.grpc:grpc-core:1.26.0
[error] ├─ io.grpc:grpc-all:1.26.0
[error] ├─ io.grpc:grpc-netty:1.26.0
[error] │ └─ io.grpc:grpc-all:1.26.0
[error] ├─ io.grpc:grpc-okhttp:1.26.0
[error] │ └─ io.grpc:grpc-all:1.26.0
[error] └─ io.grpc:grpc-testing:1.26.0
[error] └─ io.grpc:grpc-all:1.26.0
[error]
[error] io.netty:netty-codec-http2:4.1.42.Final ([4.1.42.Final] wanted)
[error] └─ io.grpc:grpc-netty:1.26.0
[error] └─ io.grpc:grpc-all:1.26.0
[error]
[error] io.grpc:grpc-core:1.26.0 ([1.26.0] wanted)
[error] └─ io.grpc:grpc-all:1.26.0
[error]
[error] io.grpc:grpc-core:1.26.0 ([1.26.0] wanted)
[error] └─ io.grpc:grpc-netty:1.26.0
[error] └─ io.grpc:grpc-all:1.26.0
[error]
[error] io.grpc:grpc-core:1.26.0 ([1.26.0] wanted)
[error] └─ io.grpc:grpc-okhttp:1.26.0
[error] └─ io.grpc:grpc-all:1.26.0
[error]
[error] io.grpc:grpc-core:1.26.0 ([1.26.0] wanted)
[error] └─ io.grpc:grpc-testing:1.26.0
[error] └─ io.grpc:grpc-all:1.26.0
[error] Total time: 0 s, completed 19.12.2019 13:38:43
Expected and actual versions are the same. However, explicit version override works, but it's annoying to resolve all transitive dependencies.
Is it sbt or coursier bug?