9
चेतावनी: मैं #scala से क्रॉस-पोस्टिंग कर रहा हूँसंबंध
स्काला में पुस्तक प्रोग्रामिंग कहा गया है कि पथ पर निर्भर प्रकार प्रश्न में पथ का सही उदाहरण के आधार पर अलग-अलग हैं । यदि हां, तो मुझे समझ नहीं आता क्यों सभी निम्नलिखित विधेय सच वापसी:
class Outer {
val in = new Inner
class Inner
}
val o1 = new Outer
val o2 = new Outer
o1.in.isInstanceOf[Outer#Inner] //makes perfect sense
o1.in.isInstanceOf[o1.Inner] //still makes sense, the path-dependent type is o1's own
o1.in.isInstanceOf[o2.Inner] //why is this true? PiS p.423 says the path-dependent types are different, they only share a common supertype Outer#Inner
मुझे एक बग की तरह लग रहा है, लेकिन यह मिटाने का परिणाम हो सकता है। मिलान करना, जिसे प्राथमिकता के रूप में पसंद किया जाता है/asInstanceOf, अपेक्षा के अनुसार काम करता है। –