{"push_id":642264589,"size":5,"distinct_size":5,"ref":"refs/heads/add/value-classes","head":"d1ad62fd1a1259bb85636ebb011185edb0fe88e2","before":"48af91130ddd6f15ebfd831617557625d8ff3bce","commits":[{"sha":"7080a07dc7488810f2a636d5c3079553163d3aff","author":{"email":"f92fe4c0c81dbf990778df2217f519c7756e932f@ubuntu.com","name":"Guillaume Martres"},"message":"New phase: VCInline which inlines value classes calls\n\nThis corresponds roughly to step 2 of SIP-15 and to the peephole\noptimizations of step 3.\n\nThe extractors in TreeExtractors are copied or inspired from\nsrc/compiler/scala/tools/nsc/ast/TreeInfo.scala in scalac.","distinct":true,"url":"https://api.github.com/repos/smarter/dotty/commits/7080a07dc7488810f2a636d5c3079553163d3aff"},{"sha":"913f619b47a5ca6ef9e11427f13363b78f5cdd22","author":{"email":"f92fe4c0c81dbf990778df2217f519c7756e932f@ubuntu.com","name":"Guillaume Martres"},"message":"Enable untried pos tests related to value classes\n\nEach test needs to have its own package because pos_all will try to\ncompile the whole valueclasses directory at once.","distinct":true,"url":"https://api.github.com/repos/smarter/dotty/commits/913f619b47a5ca6ef9e11427f13363b78f5cdd22"},{"sha":"84e6d5cddd0b9d4604ed042039b7c19d98392f79","author":{"email":"f92fe4c0c81dbf990778df2217f519c7756e932f@ubuntu.com","name":"Guillaume Martres"},"message":"Enable pending pos tests related to value classes\n\nEach test needs to have its own package because pos_all will try to\ncompile the whole valueclasses directory at once.\n\nThe remaining tests with \"extends AnyVal\" in tests/pending/pos are\nrelated to separate compilation, except for:\n- t6482.scala and t7022.scala which were fixed by\n  https://github.com/scala/scala/pull/1468 in scalac and seem to\n  trigger a similar bug in FullParameterization\n- strip-tvars-for-lubbasetypes.scala which was fixed by\n  https://github.com/scala/scala/pull/1758 in scalac","distinct":true,"url":"https://api.github.com/repos/smarter/dotty/commits/84e6d5cddd0b9d4604ed042039b7c19d98392f79"},{"sha":"f2bb240b50c3b29b09b840197a5e1af119aa032f","author":{"email":"f92fe4c0c81dbf990778df2217f519c7756e932f@ubuntu.com","name":"Guillaume Martres"},"message":"Fix companionClass not working after Erasure for value classes\n\nFor a module class V$, the synthesized companion class method looks\nlike:\n  val companion$class: V\nIf V is a value class, after erasure it will look like:\n  val companion$class: ErasedValueType(V, ...)\nThis will break SymDenotation#companionClass which relies on the type of\ncompanion$class.\nThe solution is to not semi-erase the type of companion$class.","distinct":true,"url":"https://api.github.com/repos/smarter/dotty/commits/f2bb240b50c3b29b09b840197a5e1af119aa032f"},{"sha":"d1ad62fd1a1259bb85636ebb011185edb0fe88e2","author":{"email":"f92fe4c0c81dbf990778df2217f519c7756e932f@ubuntu.com","name":"Guillaume Martres"},"message":"Erasure: Box closures of value classes when needed\n\nAfter erasure, we may have to replace the closure method by a bridge.\nLambdaMetaFactory handles this automatically for most types, but we have\nto deal with boxing and unboxing of value classes ourselves.","distinct":true,"url":"https://api.github.com/repos/smarter/dotty/commits/d1ad62fd1a1259bb85636ebb011185edb0fe88e2"}]}