human
Solve the following python programming problem given the following code:
def array_copy(self, src, dest, return_stmt = False) : 
    assert self.is_array (dest) 
    shape = self.shape (index_vars) 
    dims = self.tuple_elts (shape) 
    rank = len (dims) 
    index_vars = [] 
    def create_loops() : 
        i = len (index_vars) 
        def loop_body(index_var) : 
            index_vars.append (index_var) 
            if ((i + 1) == rank) : 
                index_tuple = self.tuple (index_vars, 'idx') 
                lhs = self.index (dest, index_tuple, temp = False) 
                rhs = self.index (src, index_tuple, temp = True) 
                self.assign (lhs, rhs) 
else : 
                self.blocks += create_loops () 
start = syntax.zero_i64 
        stop = dims [i] 
        if ((i > 0) or return_stmt) : 
            return self.loop (start, stop, loop_body, True) 
else : 
            return self.loop (start, stop, loop_body, return_stmt) 
return create_loops () 

    
    

    Fix the buggy line: shape = self.shape (index_vars)
assistant
#Here is Python program to fix the buggy line: shape = self.

shape = self.shape (dest)