rust/hg-cpython/src/revlog.rs
changeset 51195 f6403bcd9f96
parent 51194 f0fa98752d67
child 51196 f95f70cf2ee2
equal deleted inserted replaced
51194:f0fa98752d67 51195:f6403bcd9f96
   158         Ok(py.None())
   158         Ok(py.None())
   159     }
   159     }
   160 
   160 
   161     def __delitem__(&self, key: PyObject) -> PyResult<()> {
   161     def __delitem__(&self, key: PyObject) -> PyResult<()> {
   162         // __delitem__ is both for `del idx[r]` and `del idx[r1:r2]`
   162         // __delitem__ is both for `del idx[r]` and `del idx[r1:r2]`
   163         self.cindex(py).borrow().inner().del_item(py, key)?;
   163         self.cindex(py).borrow().inner().del_item(py, &key)?;
       
   164         let start = key.getattr(py, "start")?;
       
   165         let start = UncheckedRevision(start.extract(py)?);
       
   166         let start = self.index(py)
       
   167             .borrow()
       
   168             .check_revision(start)
       
   169             .ok_or_else(|| {
       
   170                 nodemap_error(py, NodeMapError::RevisionNotInIndex(start))
       
   171             })?;
       
   172         self.index(py).borrow_mut().remove(start).unwrap();
   164         let mut opt = self.get_nodetree(py)?.borrow_mut();
   173         let mut opt = self.get_nodetree(py)?.borrow_mut();
   165         let nt = opt.as_mut().unwrap();
   174         let nt = opt.as_mut().unwrap();
   166         nt.invalidate_all();
   175         nt.invalidate_all();
   167         self.fill_nodemap(py, nt)?;
   176         self.fill_nodemap(py, nt)?;
   168         Ok(())
   177         Ok(())