Skip to content

scala-parser-combinators_2.11 1.1.2 break binary compatibility #200

@xuwei-k

Description

@xuwei-k

build.sbt

scalaVersion := "2.11.12"

libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.7"

build.properties

sbt.version=1.2.8

src/main/scala/MyParser.scala

package com.example

import scala.util.parsing.combinator.JavaTokenParsers

object MyParser extends JavaTokenParsers {
  val p = rep(ident)
  def run(str: String) = MyParser.parse(p, str)
}

src/test/scala/Test.scala

package com.example

import org.scalatest._

class Test extends FunSpec {
  it("test") {
    MyParser.run("foo")
  }
}

error

[error] java.lang.AbstractMethodError: com.example.MyParser$.scala$util$parsing$combinator$Parsers$$lastNoSuccessVar()Lscala/util/DynamicVariable;
[error] 	at scala.util.parsing.combinator.Parsers$NoSuccess.<init>(Parsers.scala:165)
[error] 	at scala.util.parsing.combinator.Parsers$Failure.<init>(Parsers.scala:193)
[error] 	at scala.util.parsing.combinator.RegexParsers$$anon$2.apply(RegexParsers.scala:116)
[error] 	at scala.util.parsing.combinator.Parsers$$anonfun$rep1$1.applyp$1(Parsers.scala:718)
[error] 	at scala.util.parsing.combinator.Parsers$$anonfun$rep1$1.continue$1(Parsers.scala:724)
[error] 	at scala.util.parsing.combinator.Parsers$$anonfun$rep1$1.apply(Parsers.scala:728)
[error] 	at scala.util.parsing.combinator.Parsers$$anonfun$rep1$1.apply(Parsers.scala:712)
[error] 	at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:217)
[error] 	at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:249)
[error] 	at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:249)
[error] 	at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:217)
[error] 	at scala.util.parsing.combinator.RegexParsers$class.parse(RegexParsers.scala:160)
[error] 	at com.example.MyParser$.parse(MyParser.scala:5)
[error] 	at com.example.MyParser$.run(MyParser.scala:7)
[error] 	at com.example.Test$$anonfun$1.apply(Test.scala:7)
[error] 	at com.example.Test$$anonfun$1.apply(Test.scala:7)
[error] 	at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
[error] 	at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
[error] 	at org.scalatest.Transformer.apply(Transformer.scala:22)
[error] 	at org.scalatest.Transformer.apply(Transformer.scala:20)
[error] 	at org.scalatest.FunSpecLike$$anon$1.apply(FunSpecLike.scala:455)
[error] 	at org.scalatest.TestSuite$class.withFixture(TestSuite.scala:196)
[error] 	at org.scalatest.FunSpec.withFixture(FunSpec.scala:1630)
[error] 	at org.scalatest.FunSpecLike$class.invokeWithFixture$1(FunSpecLike.scala:452)
[error] 	at org.scalatest.FunSpecLike$$anonfun$runTest$1.apply(FunSpecLike.scala:465)
[error] 	at org.scalatest.FunSpecLike$$anonfun$runTest$1.apply(FunSpecLike.scala:465)
[error] 	at org.scalatest.SuperEngine.runTestImpl(Engine.scala:286)
[error] 	at org.scalatest.FunSpecLike$class.runTest(FunSpecLike.scala:465)
[error] 	at org.scalatest.FunSpec.runTest(FunSpec.scala:1630)
[error] 	at org.scalatest.FunSpecLike$$anonfun$runTests$1.apply(FunSpecLike.scala:498)
[error] 	at org.scalatest.FunSpecLike$$anonfun$runTests$1.apply(FunSpecLike.scala:498)
[error] 	at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:393)
[error] 	at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:381)
[error] 	at scala.collection.immutable.List.foreach(List.scala:392)
[error] 	at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:381)
[error] 	at org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:376)
[error] 	at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:458)
[error] 	at org.scalatest.FunSpecLike$class.runTests(FunSpecLike.scala:498)
[error] 	at org.scalatest.FunSpec.runTests(FunSpec.scala:1630)
[error] 	at org.scalatest.Suite$class.run(Suite.scala:1124)
[error] 	at org.scalatest.FunSpec.org$scalatest$FunSpecLike$$super$run(FunSpec.scala:1630)
[error] 	at org.scalatest.FunSpecLike$$anonfun$run$1.apply(FunSpecLike.scala:502)
[error] 	at org.scalatest.FunSpecLike$$anonfun$run$1.apply(FunSpecLike.scala:502)
[error] 	at org.scalatest.SuperEngine.runImpl(Engine.scala:518)
[error] 	at org.scalatest.FunSpecLike$class.run(FunSpecLike.scala:502)
[error] 	at org.scalatest.FunSpec.run(FunSpec.scala:1630)
[error] 	at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:317)
[error] 	at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:483)
[error] 	at sbt.TestRunner.runTest$1(TestFramework.scala:113)
[error] 	at sbt.TestRunner.run(TestFramework.scala:124)
[error] 	at sbt.TestFramework$$anon$2$$anonfun$$lessinit$greater$1.$anonfun$apply$1(TestFramework.scala:282)
[error] 	at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:246)
[error] 	at sbt.TestFramework$$anon$2$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:282)
[error] 	at sbt.TestFramework$$anon$2$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:282)
[error] 	at sbt.TestFunction.apply(TestFramework.scala:294)
[error] 	at sbt.Tests$.$anonfun$toTask$1(Tests.scala:309)
[error] 	at sbt.std.Transform$$anon$3.$anonfun$apply$2(System.scala:46)
[error] 	at sbt.std.Transform$$anon$4.work(System.scala:67)
[error] 	at sbt.Execute.$anonfun$submit$2(Execute.scala:269)
[error] 	at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] 	at sbt.Execute.work(Execute.scala:278)
[error] 	at sbt.Execute.$anonfun$submit$1(Execute.scala:269)
[error] 	at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] 	at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] 	at java.lang.Thread.run(Thread.java:748)

Maybe migration-manager bug 🤔

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions