More precisely, when the right child of an entry in the root page split during deletions, the cursor needs to be moved (like in the non-root pages), and wasn't
GGEFV4YYK7E6J3544XSXN5CBASQI3QE6LTFZCJAGOXHEEKD6BRCQC 77TAHKV4VZ4SWZZBEND24Y6BL7JLRXPYO33CA5FRH53WXEWSWS4QC TSMS6W4DOKQNUQ4PEMTLOIODR33VFPN6MMNS73ZPSU4BOQVRGPNAC OP6SVMOD2GTQ7VNJ4E5KYFG4MIYA7HBMXJTADALMZH4PY7OQRMZQC QEUTVAZ4F4EJXRDMWDMYXF6XEDMX7YPVG4IIXEKPIR3K54E5W5OAC APPY2E7M5NHNC6MFYXSVEKJVAILK7YAZVTVE3W75EK2JNFVS3XBQC DASFQGORX56YK5E4Y7GGYZSQQQMUXYTZZ4A6IVWSTI3QGRUORLPAC OTWDDJE7TTE73D6BGF4ZN6BH2NFUFLPME2VJ3CPALH463UGWLEIQC LSQ6V7M66TEGLJ7QBLRVDX4E7UKJTDQTEXZOS3KGPGFKVXNLPKBQC JIQOPUYH6IHOLTTUMFUXGYCEFM5NAFKUFF3GFUKOXJA5FZLDM76AC HN6Z5DU4WYMAIOOSNVHLIIMNF6Q53TNJ7YC27SLKWNXVYCTACQKQC 73Z2UB3JGRLFNFORE7D64O4IHIFSZASD4G4FLJ4FJLHANT75MGIAC // If this split isn't at the root, and the page// modified in the last step is the one on the right// of the current entry, move right one step before// inserting the split key/value.
// If the page modified in the last step is the one on// the right of the current entry, move right one step// before inserting the split key/value.
let mut c1 = m.c1.clone();if !m.skip_first && !m.mod_is_left {// This means that the page below just split, since we// have to insert an extra entry on the root page.//// However, the extra entry is to be inserted (by// `P::put`) *before* `c1`'s first element, which is// incorrect since the page that split is the right child// of `c1`'s first element. Therefore, we need to move// `c1` one notch to the right.assert!(m.ins2.is_none());P::move_next(&mut c1);}