fn ensure_fallback(&mut self) {
        let mut factory = self.factory.clone();
        let mut cubes = Vec::new();
        for (&router, vec) in self.router_map.iter_mut() {
            if vec.is_empty() {
                let cube = Cube::new_router(router);
                let id = factory.rotate_id();
                vec.push(id);
                cubes.push((id, cube));
            }
        }
        self.factory = factory;
        self.cube_map.extend(cubes);
    }
/// ensures fallback options if is_empty; assumes done clean().
ensures fallback options if is_empty; assumes done clean().
ensures fallback options if is_empty ; assumes done clean () .
fn ensure_fallback(&mut self) {
        let mut factory = self.factory.clone();
        let mut cubes = Vec::new();
        for (&router, vec) in self.router_map.iter_mut() {
            if vec.is_empty() {
                let cube = Cube::new_router(router);
                let id = factory.rotate_id();
                vec.push(id);
                cubes.push((id, cube));
            }
        }
        self.factory = factory;
        self.cube_map.extend(cubes);
    }
fn ensure_fallback ( & mut self ) { let mut factory = self . factory . clone ( ) ; let mut cubes = Vec :: new ( ) ; for ( & router , vec ) in self . router_map . iter_mut ( ) { if vec . is_empty ( ) { let cube = Cube :: new_router ( router ) ; let id = factory . rotate_id ( ) ; vec . push ( id ) ; cubes . push ( ( id , cube ) ) ; } } self . factory = factory ; self . cube_map . extend ( cubes ) ; }
ensures fallback options if is_empty; assumes done clean().
ensures fallback options if is_empty ; assumes done clean () .
&mut self
&mut self