fn devote(
        &mut self,
        obj: &Self::Id,
        owner: &Self::Id,
        nth: usize,
    ) -> Result<(), FlowError> {
        let res = self.link(obj, owner, nth).and_then(|_| {
            self.node_mut(obj)
                .map(|obj| {
                    obj.parent_set(owner.clone());
                    Ok(())
                })
                .unwrap_or(Err(FlowError::NotExistObj))
        });
        self.check_assert();
        res
    }
/// appoints and ensures an owner; also links to owner; won't do anything if aleady has the node as child
appoints and ensures an owner; also links to owner; won't do anything if aleady has the node as child
appoints and ensures an owner ; also links to owner ; won ' t do anything if aleady has the node as child
fn devote(
        &mut self,
        obj: &Self::Id,
        owner: &Self::Id,
        nth: usize,
    ) -> Result<(), FlowError> {
        let res = self.link(obj, owner, nth).and_then(|_| {
            self.node_mut(obj)
                .map(|obj| {
                    obj.parent_set(owner.clone());
                    Ok(())
                })
                .unwrap_or(Err(FlowError::NotExistObj))
        });
        self.check_assert();
        res
    }
fn devote ( & mut self , obj : & Self :: Id , owner : & Self :: Id , nth : usize , ) -> Result < ( ) , FlowError > { let res = self . link ( obj , owner , nth ) . and_then ( | _ | { self . node_mut ( obj ) . map ( | obj | { obj . parent_set ( owner . clone ( ) ) ; Ok ( ( ) ) } ) . unwrap_or ( Err ( FlowError :: NotExistObj ) ) } ) ; self . check_assert ( ) ; res }
appoints and ensures an owner; also links to owner; won't do anything if aleady has the node as child
appoints and ensures an owner ; also links to owner ; won ' t do anything if aleady has the node as child
&mut self
obj
&Self::Id
owner
&Self::Id
nth
usize
&mut self
obj
&Self::Id
owner
&Self::Id
nth
usize