{"action":"opened","issue":{"url":"https://api.github.com/repos/google/guava/issues/2034","labels_url":"https://api.github.com/repos/google/guava/issues/2034/labels{/name}","comments_url":"https://api.github.com/repos/google/guava/issues/2034/comments","events_url":"https://api.github.com/repos/google/guava/issues/2034/events","html_url":"https://github.com/google/guava/issues/2034","id":68819135,"number":2034,"title":"guava-testlib not compatible with latest version of Truth","user":{"login":"ekuefler","id":666477,"avatar_url":"https://avatars.githubusercontent.com/u/666477?v=3","gravatar_id":"","url":"https://api.github.com/users/ekuefler","html_url":"https://github.com/ekuefler","followers_url":"https://api.github.com/users/ekuefler/followers","following_url":"https://api.github.com/users/ekuefler/following{/other_user}","gists_url":"https://api.github.com/users/ekuefler/gists{/gist_id}","starred_url":"https://api.github.com/users/ekuefler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekuefler/subscriptions","organizations_url":"https://api.github.com/users/ekuefler/orgs","repos_url":"https://api.github.com/users/ekuefler/repos","events_url":"https://api.github.com/users/ekuefler/events{/privacy}","received_events_url":"https://api.github.com/users/ekuefler/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-04-16T00:52:09Z","updated_at":"2015-04-16T00:52:09Z","closed_at":null,"body":"guava 18 declares a dependency on version 0.23 of Truth. The latest version is 0.24. When running a collection test with 0.24 on the classpath, I get an exception like the following:\r\n\r\n```\r\n1) testRetainAll_countIgnored[ObservableArrayList [collection size: several]](com.google.common.collect.testing.testers.ListRetainAllTester)\r\njava.lang.IncompatibleClassChangeError: Found class com.google.common.truth.CollectionSubject$Has, but interface was expected\r\n        at com.google.common.collect.testing.testers.ListRetainAllTester.testRetainAll_countIgnored(ListRetainAllTester.java:70)\r\n        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n        at java.lang.reflect.Method.invoke(Method.java:483)\r\n        at junit.framework.TestCase.runTest(TestCase.java:176)\r\n        at junit.framework.TestCase.runBare(TestCase.java:141)\r\n        at junit.framework.TestResult$1.protect(TestResult.java:122)\r\n        at junit.framework.TestResult.runProtected(TestResult.java:142)\r\n        at junit.framework.TestResult.run(TestResult.java:125)\r\n        at junit.framework.TestCase.run(TestCase.java:129)\r\n        at junit.framework.TestSuite.runTest(TestSuite.java:252)\r\n        at junit.framework.TestSuite.run(TestSuite.java:247)\r\n        at junit.framework.TestSuite.runTest(TestSuite.java:252)\r\n        at junit.framework.TestSuite.run(TestSuite.java:247)\r\n        at junit.framework.TestSuite.runTest(TestSuite.java:252)\r\n        at junit.framework.TestSuite.run(TestSuite.java:247)\r\n        at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)\r\n        at org.junit.runners.Suite.runChild(Suite.java:128)\r\n        at org.junit.runners.Suite.runChild(Suite.java:27)\r\n        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)\r\n        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)\r\n        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)\r\n        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)\r\n        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)\r\n        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)\r\n        at org.junit.runners.Suite.runChild(Suite.java:128)\r\n        at org.junit.runners.Suite.runChild(Suite.java:27)\r\n        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)\r\n        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)\r\n        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)\r\n        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)\r\n        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)\r\n        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)\r\n        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)\r\n        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)\r\n        at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)\r\n        at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\n```\r\n\r\nDowngrading to 0.23 fixes the problem."}}