summaryrefslogtreecommitdiff
path: root/test/files/neg/t5954.scala
blob: 9e6f5392c7d9b04c949badf7a23201342e5f0e08 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// if you ever think you've fixed the underlying reason for the implementation restrictions
// imposed by SI-5954, then here's a test that should pass with two "succes"es
//
//import scala.tools.partest._
//
//object Test extends DirectTest {
//  def code = ???
//
//  def problemCode = """
//    package object A {
//      class B
//      object B
//      case class C()
//    }
//  """
//
//  def compileProblemCode() = {
//    val classpath = List(sys.props("partest.lib"), testOutput.path) mkString sys.props("path.separator")
//    compileString(newCompiler("-cp", classpath, "-d", testOutput.path))(problemCode)
//  }
//
//  def show() : Unit = {
//    for (i <- 0 until 2) {
//      compileProblemCode()
//      println(s"success ${i + 1}")
//    }
//  }
//}

package object A {
  // these should be prevented by the implementation restriction
  class B
  object B
  trait C
  object C
  case class D()
  // all the rest of these should be ok
  class E
  object F
  val g = "omg"
  var h = "wtf"
  def i = "lol"
  type j = String
  class K(val k : Int) extends AnyVal
  implicit class L(val l : Int)
}