pub fn upcast<M: AstNode>(self) -> FileAstId<M>
    where
        M: From<N>,
    {
        FileAstId { raw: self.raw, _ty: PhantomData }
    }
// Can't make this a From implementation because of coherence
Can't make this a From implementation because of coherence
Can ' t make this a From implementation because of coherence
pub fn upcast<M: AstNode>(self) -> FileAstId<M>
    where
        M: From<N>,
    {
        FileAstId { raw: self.raw, _ty: PhantomData }
    }
pub fn upcast < M : AstNode > ( self ) -> FileAstId < M > where M : From < N > , { FileAstId { raw : self . raw , _ty : PhantomData } }
Can't make this a From implementation because of coherence
Can ' t make this a From implementation because of coherence
self
self