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

« back to all changes in this revision

Viewing changes to test/files/neg/t8104a/Test_2.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 Generic[T] { type Repr }
 
2
object Generic {
 
3
  type Aux[T, Repr0] = Generic[T] { type Repr = Repr0 }
 
4
  import scala.language.experimental.macros
 
5
  implicit def materializeGeneric[T]: Generic[T] = macro Macros.impl[T]
 
6
}
 
7
 
 
8
object Test extends App {
 
9
  case class C(x: Int, y: Int)
 
10
 
 
11
  def reprify[T, Repr](x: T)(implicit generic: Generic.Aux[T, Repr]) = ???
 
12
  reprify(C(40, 2))
 
13
 
 
14
  // this is a compilation error at the moment as explained in SI-8104
 
15
  // because matchesPt in implicit search says that depoly(<type of materializeGeneric>) isn't a subtype of Generic.Aux[C, (Int, Int)]
 
16
  // which is rightfully so, because depoly only replaces type parameters, not type members with wildcard types
 
17
  // however in the future we might want to relax the matchesPt check, so this might start compiling
 
18
  // therefore, if you've broken this test, then you should be happy, because most likely you've just enabled an interesting use case!
 
19
  implicitly[Generic.Aux[C, (Int, Int)]]
 
20
}