| 638 | (void)world; ENSURE_INIT(); WITH_GIL(); |
| 639 | return ok_owned_or_err(p_PyObject_GetAttrString(unwrap_pyobject(p), lean_string_cstr(name))); |
| 640 | } |
| 641 | |
| 642 | LEAN_EXPORT lean_obj_res lean_py_setattr(b_lean_obj_arg p, b_lean_obj_arg name, b_lean_obj_arg v, lean_obj_arg world) { |
| 643 | (void)world; ENSURE_INIT(); WITH_GIL(); |
| 644 | int r = p_PyObject_SetAttrString(unwrap_pyobject(p), lean_string_cstr(name), unwrap_pyobject(v)); |
| 645 | if (r != 0) return raise_py_error(); |
| 646 | return lean_io_result_mk_ok(lean_box(0)); |
| 647 | } |
nothing calls this directly
no test coverage detected