summaryrefslogtreecommitdiff
path: root/test/pending/pos/t1786.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-10-12 09:41:13 +0000
committerMartin Odersky <odersky@gmail.com>2009-10-12 09:41:13 +0000
commitf75ee36c6fb4386eb89f19c40dfa000076aa9307 (patch)
tree1c43adb5b8b194a7a9c14d4ad7cdca04261cda68 /test/pending/pos/t1786.scala
parentbf9ca9a2b7455164c335a48826143749b6b107eb (diff)
downloadscala-f75ee36c6fb4386eb89f19c40dfa000076aa9307.tar.gz
scala-f75ee36c6fb4386eb89f19c40dfa000076aa9307.tar.bz2
scala-f75ee36c6fb4386eb89f19c40dfa000076aa9307.zip
reverted immutable.Vector because it gave rando...
reverted immutable.Vector because it gave random build errors on my machine. Fixed various tickets, updated test and check files.
Diffstat (limited to 'test/pending/pos/t1786.scala')
-rw-r--r--test/pending/pos/t1786.scala17
1 files changed, 12 insertions, 5 deletions
diff --git a/test/pending/pos/t1786.scala b/test/pending/pos/t1786.scala
index 86aaee0121..d0cf8c7bac 100644
--- a/test/pending/pos/t1786.scala
+++ b/test/pending/pos/t1786.scala
@@ -1,12 +1,19 @@
+/** This a consequence of the current type checking algorithm, where bounds
+ * are checked only after variables are instantiated. I believe this will change once we go to contraint-based type inference. Assigning low priority until then.
+ *
+ *
+ */
class SomeClass(val intValue:Int)
class MyClass[T <: SomeClass](val myValue:T)
-def myMethod(i:MyClass[_]) {
- i.myValue.intValue/2 // << error i is of type Any
-}
+object Test extends Application {
+ def myMethod(i:MyClass[_]) {
+ i.myValue.intValue/2 // << error i is of type Any
+ }
-def myMethod(i:MyClass[_ <: SomeClass]) {
- i.myValue.intValue/2 // << works
+ def myMethod(i:MyClass[_ <: SomeClass]) {
+ i.myValue.intValue/2 // << works
+ }
}
/*
The below code shows a compiler flaw in that the wildcard "_" as value for a bounded type parameter either breaks the boundry - as it result in Any - or doesnt (as id hoped it to be) evaluates to the boundy.