| 649 | LEAN_EXPORT lean_obj_res lean_py_hasattr(b_lean_obj_arg p, b_lean_obj_arg name, lean_obj_arg world) { |
| 650 | (void)world; ENSURE_INIT(); WITH_GIL(); |
| 651 | int r = p_PyObject_HasAttrString(unwrap_pyobject(p), lean_string_cstr(name)); |
| 652 | return lean_io_result_mk_ok(lean_box(r ? 1 : 0)); |
| 653 | } |
| 654 | |
| 655 | LEAN_EXPORT lean_obj_res lean_py_getitem(b_lean_obj_arg p, b_lean_obj_arg k, lean_obj_arg world) { |
| 656 | (void)world; ENSURE_INIT(); WITH_GIL(); |
| 657 | return ok_owned_or_err(p_PyObject_GetItem(unwrap_pyobject(p), unwrap_pyobject(k))); |
| 658 | } |
| 659 |
nothing calls this directly
no test coverage detected