{"push_id":810439099,"size":10,"distinct_size":10,"ref":"refs/heads/2.11.x","head":"db95f868d9370a64df3b76a035d1731d55db666e","before":"27da46343cd545534819300235bc64ab74958c92","commits":[{"sha":"f1e553ecfbea25bcc7e13294f6104d599336f460","author":{"email":"8287c3bf2f3045ed7dda958850d2b0fdb9e67898@gmail.com","name":"Jason Zaugg"},"message":"SI-9029 Fix regression in extractor patterns\n\nThe unified treatment of classical and named-based pattern matching\ndoes not correctly handle the generalization of \"tuple capture\".\n\nBy \"tuple capture\", I mean:\n\n```\nscala> object Extractor { def unapply(a: Any): Option[(Int, String)] = Some((1, \"2\")) }\ndefined object Extractor\n\nscala> \"\" match { case Extractor(x: Int, y: String) => }\n\nscala> \"\" match { case Extractor(xy : (Int, String)) => }\nwarning: there was one deprecation warning; re-run with -deprecation for details\n\nscala> :warnings\n<console>:9: warning: object Extractor expects 2 patterns to hold (Int, String) but crushing into 2-tuple to fit single pattern (SI-6675)\n              \"\" match { case Extractor(xy : (Int, String)) => }\n                              ^\n```\n\nName based pattern matching, new in Scala 2.11, allows one to\ndeconstruct the elements that structurally resembles `ProductN`:\n\n```\nscala> class P2(val _1: Int, val _2: String)\ndefined class P2\n\nscala> object Extractor { def unapply(a: Any): Option[P2] = Some(new P2(1, \"2\")) }\ndefined object Extractor\n\nscala> \"\" match { case Extractor(x: Int, y: String) => }\n```\n\nHowever, attempting to extract the `P2` in its entirety leads to\nan internal error:\n\n```\nscala> \"\" match { case Extractor(p2: P2) => }\n<console>:10: warning: fruitless type test: a value of type (Int, String) cannot also be a P2\n              \"\" match { case Extractor(p2: P2) => }\n                                            ^\n<console>:10: error: error during expansion of this match (this is a scalac bug).\nThe underlying error was: type mismatch;\n found   : P2\n required: (Int, String)\n              \"\" match { case Extractor(p2: P2) => }\n                 ^\n```\n\nNote that this match was legal and warning free in 2.10.\n\nThis commit avoids the hard-coded assumption that the \"tuple capture\"\nresults in a `TupleN`, and instead keeps track of the product-ish\ntype from which we extracted the element types. I have also opted not\nto limit the deprecation warning to `TupleN` extractors.","distinct":true,"url":"https://api.github.com/repos/lrytz/scala/commits/f1e553ecfbea25bcc7e13294f6104d599336f460"},{"sha":"daa421189d9191f05b5006418580eb6c0e0b1ec7","author":{"email":"8287c3bf2f3045ed7dda958850d2b0fdb9e67898@gmail.com","name":"Jason Zaugg"},"message":"SI-8989 Better error message for invalid extractor pattern","distinct":true,"url":"https://api.github.com/repos/lrytz/scala/commits/daa421189d9191f05b5006418580eb6c0e0b1ec7"},{"sha":"955ce9f92b8611cacd355cabe8b4c1ae6ee0ea05","author":{"email":"8287c3bf2f3045ed7dda958850d2b0fdb9e67898@gmail.com","name":"Jason Zaugg"},"message":"SI-8127 Remove dead code in Uncurry\n\nIt remains from the days of yore, when patterns survived this long\nin the compiler.","distinct":true,"url":"https://api.github.com/repos/lrytz/scala/commits/955ce9f92b8611cacd355cabe8b4c1ae6ee0ea05"},{"sha":"54445becc8dc035898c39b965e54bbaed80d0b98","author":{"email":"8287c3bf2f3045ed7dda958850d2b0fdb9e67898@gmail.com","name":"Jason Zaugg"},"message":"SI-7850 Additional tests for name based patmat\n\nFound these in an old review branch of mine.","distinct":true,"url":"https://api.github.com/repos/lrytz/scala/commits/54445becc8dc035898c39b965e54bbaed80d0b98"},{"sha":"3b396884e6c153588ba25123d82eb4ed703fd844","author":{"email":"8287c3bf2f3045ed7dda958850d2b0fdb9e67898@gmail.com","name":"Jason Zaugg"},"message":"SI-9029 Remove unused method","distinct":true,"url":"https://api.github.com/repos/lrytz/scala/commits/3b396884e6c153588ba25123d82eb4ed703fd844"},{"sha":"b81d2b21a70cfd23fe343ff0e58a9db83548b395","author":{"email":"8287c3bf2f3045ed7dda958850d2b0fdb9e67898@gmail.com","name":"Jason Zaugg"},"message":"Merge pull request #4720 from retronym/ticket/9029\n\nSI-9029 Fix regression in extractor patterns","distinct":true,"url":"https://api.github.com/repos/lrytz/scala/commits/b81d2b21a70cfd23fe343ff0e58a9db83548b395"},{"sha":"adbdc2bc41ab4d80e5a14d83122bb3d76107d2f6","author":{"email":"c4732875c983bf470edf966b43b99fd3c2182110@comprehend.com","name":"Ryan Zhang"},"message":"Fix typo in Process.scala","distinct":true,"url":"https://api.github.com/repos/lrytz/scala/commits/adbdc2bc41ab4d80e5a14d83122bb3d76107d2f6"},{"sha":"39aa986dfabe4e8d22eb5698b18f773d1a6dfae8","author":{"email":"25a3b6cc85a8cde49f8b0f9aa21c050bc04072d4@tisue.net","name":"Seth Tisue"},"message":"Merge pull request #4773 from ryanus/process-typo\n\nFix typo in Process.scala","distinct":true,"url":"https://api.github.com/repos/lrytz/scala/commits/39aa986dfabe4e8d22eb5698b18f773d1a6dfae8"},{"sha":"5488761aba7617e175361893595b61dbd41d68be","author":{"email":"25a3b6cc85a8cde49f8b0f9aa21c050bc04072d4@tisue.net","name":"Seth Tisue"},"message":"SI-9495 Add note about configuring Ant for HTTP proxies","distinct":true,"url":"https://api.github.com/repos/lrytz/scala/commits/5488761aba7617e175361893595b61dbd41d68be"},{"sha":"db95f868d9370a64df3b76a035d1731d55db666e","author":{"email":"8287c3bf2f3045ed7dda958850d2b0fdb9e67898@gmail.com","name":"Jason Zaugg"},"message":"Merge pull request #4775 from SethTisue/issue/9495\n\nSI-9495 Add note about configuring Ant for HTTP proxies","distinct":true,"url":"https://api.github.com/repos/lrytz/scala/commits/db95f868d9370a64df3b76a035d1731d55db666e"}]}