Test issue #2234 follow-up: def_buffer with ref-qualified member function pointers. Covers: - def_buffer(Return (Class::*)(Args...) &) - def_buffer(Return (Class::*)(Args...) const &) - def_buffer(Return (Class::*)(Args...) & noexcept) - def_buffer(Return (Class::*)(Args
()
| 424 | |
| 425 | |
| 426 | def test_ref_qualified_def_buffer(): |
| 427 | """Test issue #2234 follow-up: def_buffer with ref-qualified member function pointers. |
| 428 | |
| 429 | Covers: |
| 430 | - def_buffer(Return (Class::*)(Args...) &) |
| 431 | - def_buffer(Return (Class::*)(Args...) const &) |
| 432 | - def_buffer(Return (Class::*)(Args...) & noexcept) |
| 433 | - def_buffer(Return (Class::*)(Args...) const & noexcept) |
| 434 | """ |
| 435 | # non-const lvalue ref-qualified member function form |
| 436 | buf = m.OneDBufferLRef(5) |
| 437 | arr = np.frombuffer(buf, dtype=np.float32) |
| 438 | assert arr.shape == (5,) |
| 439 | arr[1] = 2.5 |
| 440 | arr2 = np.frombuffer(buf, dtype=np.float32) |
| 441 | assert arr2[1] == pytest.approx(2.5) |
| 442 | |
| 443 | # const lvalue ref-qualified member function form |
| 444 | cbuf = m.OneDBufferConstLRef(4) |
| 445 | carr = np.frombuffer(cbuf, dtype=np.float32) |
| 446 | assert carr.shape == (4,) |
| 447 | assert carr.flags["WRITEABLE"] is False |
| 448 | |
| 449 | |
| 450 | @pytest.mark.skipif( |
nothing calls this directly
no test coverage detected