Questions tagged «trait»

2
为什么Scala编译器不能为未密封的类/特征给出模式匹配警告?
如果我使用未密封的trait或abstract class在Scala中使用模式匹配,我想知道,编译器是否不知道在编译时针对该特定模式匹配,可以使用此特性/类的哪些可能的实现?所以,如果这样做,会不给模式匹配的警告,即使是在trait/ abstract class不密封,因为他知道哪些类型可以被使用,通过检查所有可能的依赖性/进口? 例如,如果我有一个,Option[A]并且我只为Some[A]但不为进行模式匹配None,则编译器会抱怨,因为Option是密封的。 如果编译器无法知道/解决该问题,那为什么不呢?如果编译器(理论上)可以做到这一点,那么在Scala中不使用它的原因是什么?还有其他支持这种行为的语言吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.