Open liufengyun opened 6 years ago
Wait, so you want Vec8
to not have a refinement? Can I add one by hand if I want to? How? This syntax looks odd:
class Vec8 extends Vec(8) { val size: 8 }
Also, it looks like I can write new Vec(8)
but I can’t abstract it as a class... it’s good I can abstract it as a method, but how do you explain why one works and the other doesn’t to a user?
@Blaisorblade Thanks for pointing out. That's a miscommunication, I think both should work.
Currently abstract member of trait or class will get a refinement type:
As argued by @julienrf , there should be a symmetry if the members are in the constructor positions:
Hopefully, this feature should also make the following work:
Related #3920 .