Skip to content

Conversation

@mdickinson
Copy link
Member

Since #101826, the internal macro _Py_InIntegralTypeRange is unused, as are its supporting macros _Py_IntegralTypeMax and _Py_IntegralTypeMin. This PR removes them.

Note that _Py_InIntegralTypeRange doesn't actually work as advertised - it's not a safe way to avoid undefined behaviour in an integer to double conversion.

@mdickinson
Copy link
Member Author

For more context, see the discussion in #17933

Copy link
Member

@corona10 corona10 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@mdickinson mdickinson merged commit b022250 into python:main Mar 4, 2023
@mdickinson mdickinson deleted the remove-unused-macros branch March 4, 2023 12:20
@mdickinson
Copy link
Member Author

@corona10 @kumaraditya303 Thanks for the reviews!

@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot ARM64 macOS 3.x has failed when building commit b022250.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/725/builds/3843) and take a look at the build logs.
  4. Check if the failure is related to this commit (b022250) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/725/builds/3843

Failed tests:

  • test_asyncio

Failed subtests:

  • test_wait_for_race_condition - test.test_asyncio.test_waitfor.AsyncioWaitForTest.test_wait_for_race_condition

Summary of the results of the build (if available):

== Tests result: FAILURE then FAILURE ==

405 tests OK.

10 slowest tests:

  • test_signal: 4 min 25 sec
  • test_concurrent_futures: 2 min 34 sec
  • test_multiprocessing_spawn: 2 min 12 sec
  • test_nntplib: 2 min 7 sec
  • test_ssl: 1 min 45 sec
  • test_multiprocessing_forkserver: 1 min 39 sec
  • test_asyncio: 1 min 34 sec
  • test_logging: 1 min 11 sec
  • test_math: 1 min 8 sec
  • test_capi: 47.7 sec

1 test failed:
test_asyncio

25 tests skipped:
test_check_c_globals test_devpoll test_epoll test_gdb test_idle
test_ioctl test_launcher test_msilib test_multiprocessing_fork
test_ossaudiodev test_peg_generator test_perf_profiler test_spwd
test_startfile test_tcl test_tix test_tkinter test_ttk
test_ttk_textonly test_turtle test_winconsoleio test_winreg
test_winsound test_wmi test_zipfile64

1 re-run test:
test_asyncio

Total duration: 9 min 58 sec

Click to see traceback logs
Traceback (most recent call last): File "/Users/buildbot/buildarea/3.x.pablogsal-macos-m1.macos-with-brew/build/Lib/asyncio/tasks.py", line 478, in wait_for return await fut ^^^^^^^^^ asyncio.exceptions.CancelledError Traceback (most recent call last): File "/Users/buildbot/buildarea/3.x.pablogsal-macos-m1.macos-with-brew/build/Lib/unittest/async_case.py", line 90, in _callTestMethod if self._callMaybeAsync(method) is not None: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/buildbot/buildarea/3.x.pablogsal-macos-m1.macos-with-brew/build/Lib/unittest/async_case.py", line 112, in _callMaybeAsync return self._asyncioRunner.run( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/buildbot/buildarea/3.x.pablogsal-macos-m1.macos-with-brew/build/Lib/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/buildbot/buildarea/3.x.pablogsal-macos-m1.macos-with-brew/build/Lib/asyncio/base_events.py", line 664, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "/Users/buildbot/buildarea/3.x.pablogsal-macos-m1.macos-with-brew/build/Lib/test/test_asyncio/test_waitfor.py", line 163, in test_wait_for_race_condition res = await task ^^^^^^^^^^ File "/Users/buildbot/buildarea/3.x.pablogsal-macos-m1.macos-with-brew/build/Lib/asyncio/tasks.py", line 477, in wait_for async with timeouts.timeout(timeout): File "/Users/buildbot/buildarea/3.x.pablogsal-macos-m1.macos-with-brew/build/Lib/asyncio/timeouts.py", line 98, in __aexit__ raise TimeoutError TimeoutError 
hugovk pushed a commit to hugovk/cpython that referenced this pull request Mar 6, 2023
Since python#101826 was merged, the internal macro `_Py_InIntegralTypeRange` is unused, as are its supporting macros `_Py_IntegralTypeMax` and `_Py_IntegralTypeMin`. This PR removes them. Note that `_Py_InIntegralTypeRange` doesn't actually work as advertised - it's not a safe way to avoid undefined behaviour in an integer to double conversion.
@vstinner
Copy link
Member

vstinner commented Apr 5, 2023

Thanks for removing these macros :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment