def assert_compilation_succeeds(extra_cpp_prelude=''):

    def eval(f):

        @wraps(f)
        def wrapper():
            tmppy_source = _get_function_body(f)
            (module_ir2, module_ir1, cpp_source) = _convert_to_cpp_expecting_success(tmppy_source)
            expect_cpp_code_success(tmppy_source, module_ir2, module_ir1, (extra_cpp_prelude + cpp_source))
        return wrapper
    return eval
def assert_compilation_succeeds(extra_cpp_prelude=):

    def eval(f):

        @wraps(f)
        def wrapper():
            tmppy_source = _get_function_body(f)
            (module_ir2, module_ir1, cpp_source) = _convert_to_cpp_expecting_success(tmppy_source)
            expect_cpp_code_success(tmppy_source, module_ir2, module_ir1, (extra_cpp_prelude + cpp_source))
        return wrapper
    return eval