Scala Programming Language
  1. Scala Programming Language
  2. SI-6201

No-symbol does not have a owner in specs2 specifications

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: Scala 2.10.0-M4, Scala 2.10.0-M5, Scala 2.10.0-M6
    • Fix Version/s: Scala 2.10.0-M6
    • Component/s: None
    • Labels:

      Description

      When compiling the latest specs2 branch with scala 2.10.0-M6 I get a compiler crash (see attached file).

      I don't know yet how to reduce this issue to something more digestible, but in the meantime you can reproduce it by cloning my git repo: https://github.com/etorreborre/specs2/tree/1.13

      1. no_owner.txt
        97 kB
        Eric Torreborre

        Activity

        Hide
        Eric Torreborre added a comment -

        I've briefly had a look at it. I tried to remove a few case classes definitions which were nested in method calls but then I have the same crash with an abstract case class (org.specs2.specification.Then).

        Show
        Eric Torreborre added a comment - I've briefly had a look at it. I tried to remove a few case classes definitions which were nested in method calls but then I have the same crash with an abstract case class (org.specs2.specification.Then).
        Hide
        Hubert Plociniczak added a comment -

        Since it is not obvious, this happens when compiling tests (core is ok). Also I cannot reproduce the exact NSDNHO crash, instead I get SO.

        Show
        Hubert Plociniczak added a comment - Since it is not obvious, this happens when compiling tests (core is ok). Also I cannot reproduce the exact NSDNHO crash, instead I get SO.
        Hide
        Eric Torreborre added a comment -

        I have a fairly large Xss setting: -Xss4m. Can you please try that?

        Show
        Eric Torreborre added a comment - I have a fairly large Xss setting: -Xss4m. Can you please try that?
        Hide
        Hubert Plociniczak added a comment -

        Got it, my custom sbt script wasn't passing those.

        Show
        Hubert Plociniczak added a comment - Got it, my custom sbt script wasn't passing those.
        Hide
        Hubert Plociniczak added a comment -

        Minimized (regression):

        class Test {
          class Foo1 {
          	def must(x: scala.xml.Elem) = ()
          }
        
          class Foo2 {
          	def must(x: Int) = ()
          }
          implicit def toFoo1(s: scala.xml.Elem) = new Foo1()
          implicit def toFoo2(s: scala.xml.Elem) = new Foo2()
        
          def is: Unit = { (<a>{"a"}</a>).must(<a>{"b"}</a>) }
        }
        

        worked in M3, stopped in M4.
        The problem is that root package qualifier from root.scala.xml.Null somehow gets past Typer and later we crash.
        adaptToMemberWithArgs is a bit at fault but the underlying cause may be somewhere else.

        Show
        Hubert Plociniczak added a comment - Minimized (regression): class Test { class Foo1 { def must(x: scala.xml.Elem) = () } class Foo2 { def must(x: Int) = () } implicit def toFoo1(s: scala.xml.Elem) = new Foo1() implicit def toFoo2(s: scala.xml.Elem) = new Foo2() def is: Unit = { (<a>{"a"}</a>).must(<a>{"b"}</a>) } } worked in M3, stopped in M4. The problem is that root package qualifier from root .scala.xml.Null somehow gets past Typer and later we crash. adaptToMemberWithArgs is a bit at fault but the underlying cause may be somewhere else.
        Hide
        Hubert Plociniczak added a comment -

        Actually scratch "root package qualifier from root.scala.xml.Null somehow gets past Typer". It's been doing that before.

        Show
        Hubert Plociniczak added a comment - Actually scratch "root package qualifier from root.scala.xml.Null somehow gets past Typer". It's been doing that before.
        Hide
        Hubert Plociniczak added a comment -

        git bisect says this regression was introduced by 6bb5975289c5b11cb8c88dd4629286956b5d3d27.
        I am bumping it to critical since it is a regression but feel free to change it.

        Show
        Hubert Plociniczak added a comment - git bisect says this regression was introduced by 6bb5975289c5b11cb8c88dd4629286956b5d3d27. I am bumping it to critical since it is a regression but feel free to change it.
        Show
        Hubert Plociniczak added a comment - https://github.com/scala/scala/pull/1118/files

          People

          • Assignee:
            Eugene Burmako
            Reporter:
            Eric Torreborre
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development