diff --git a/compile/api/src/main/scala/xsbt/api/HashAPI.scala b/compile/api/src/main/scala/xsbt/api/HashAPI.scala index 6ed4054e0..59b59797c 100644 --- a/compile/api/src/main/scala/xsbt/api/HashAPI.scala +++ b/compile/api/src/main/scala/xsbt/api/HashAPI.scala @@ -356,7 +356,12 @@ final class HashAPI(includePrivate: Boolean, includeParamNames: Boolean, include def hashStructure0(structure: Structure, includeDefinitions: Boolean, isTrait: Boolean = false): Unit = { extend(StructureHash) hashTypes(structure.parents, includeDefinitions) - if (includeDefinitions || isTrait) { + if (isTrait && !includeDefinitions) { + def public(d: Definition): Boolean = d.access match { case _: xsbti.api.Public => true; case _ => false } + hashDefinitions(structure.declared.filterNot(public), isTrait) + hashDefinitions(structure.inherited.filterNot(public), isTrait) + } + if (includeDefinitions) { hashDefinitions(structure.declared, isTrait) hashDefinitions(structure.inherited, isTrait) } diff --git a/sbt/src/sbt-test/source-dependencies/trait-member-modified/pending b/sbt/src/sbt-test/source-dependencies/trait-member-modified/test similarity index 100% rename from sbt/src/sbt-test/source-dependencies/trait-member-modified/pending rename to sbt/src/sbt-test/source-dependencies/trait-member-modified/test