~ubuntu-branches/debian/sid/scala/sid

« back to all changes in this revision

Viewing changes to test/files/pos/t4063.scala

  • Committer: Package Import Robot
  • Author(s): Emmanuel Bourg, Mehdi Dogguy, Lucas Satabin, Frank S. Thomas, Emmanuel Bourg
  • Date: 2015-06-05 23:52:59 UTC
  • mfrom: (1.2.11)
  • Revision ID: package-import@ubuntu.com-20150605235259-wk00vgk83dh8o19g
Tags: 2.10.5-1
* Team upload.

[ Mehdi Dogguy ]
* New upstream release (Closes: #744278).

[ Lucas Satabin ]
* Update patches
* Update the clean target
* Update paths of elements to install
* Update watch file

[ Frank S. Thomas ]
* Remove myself from Uploaders.

[ Emmanuel Bourg ]
* The package has been adopted by the Java Team (Closes: #754935)
* Patched the build to avoid downloading libraries from the Internet
* Replaced the minified JavaScript files with unobfuscated ones
* No longer build scala-partest.jar until diffutils is packaged or replaced
* debian/watch: Fixed the versions matched (x.y.z instead of x.y.z..z)
* debian/rules:
  - Added the missing get-orig-source target (Closes: #724704)
  - Improved the clean target
* debian/control:
  - Build depend on scala (>= 2.10) and bnd
  - Use canonical URLs for the Vcs-* fields
  - Standards-Version updated to 3.9.6 (no changes)
* Switch to debhelper level 9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
trait Parallel
 
2
trait Parallelizable[+ParRepr <: Parallel]
 
3
 
 
4
trait PIterableLike[+T, +Repr <: Parallel] extends Parallel with Parallelizable[PIterableLike[T, Repr]]
 
5
 
 
6
trait PMap[K, V] extends PIterableLike[(K, V), PMap[K, V]]
 
7
trait PSet[T] extends PIterableLike[T, PSet[T]]
 
8
 
 
9
trait CIterableLike[+T, +Repr]
 
10
 
 
11
trait CSet[T] extends CIterableLike[T, CSet[T]] with Parallelizable[PSet[T]]
 
12
 
 
13
trait CMap[K, V] extends CIterableLike[(K, V), CMap[K, V]] with Parallelizable[PMap[K, V]]
 
14
 
 
15
object Test {
 
16
  var x = 0
 
17
 
 
18
  def main() {
 
19
    val map: CMap[Int, CSet[Int]] = new CMap[Int, CSet[Int]] {}
 
20
    val set: CSet[Int] = new CSet[Int] {}
 
21
 
 
22
    // should infer type argument
 
23
    //map.synchronized[CIterableLike[Any, Any] with Parallelizable[PIterableLike[Any, Parallel with Parallelizable[Parallel]]]] {
 
24
    // or:
 
25
    //map.synchronized[CIterableLike[Any, Any] with Parallelizable[PIterableLike[Any, Parallel]]] {
 
26
    // or, maybe it could also infer existential types:
 
27
    //map.synchronized[CIterableLike[Any, _] with Parallelizable[PIterableLike[Any, _]]] {
 
28
 
 
29
    map.synchronized {
 
30
      if (x == 0) {
 
31
        map
 
32
      } else {
 
33
        set
 
34
      }
 
35
    }
 
36
 
 
37
  }
 
38
}
 
39