Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package re2 for openSUSE:Factory checked in 
at 2024-07-02 18:14:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/re2 (Old)
 and      /work/SRC/openSUSE:Factory/.re2.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "re2"

Tue Jul  2 18:14:52 2024 rev:62 rq:1184332 version:MACRO

Changes:
--------
--- /work/SRC/openSUSE:Factory/re2/re2.changes  2024-06-04 12:51:23.736402428 
+0200
+++ /work/SRC/openSUSE:Factory/.re2.new.18349/re2.changes       2024-07-02 
18:14:57.572147262 +0200
@@ -1,0 +2,6 @@
+Mon Jul  1 14:18:15 UTC 2024 - Andreas Stieger <[email protected]>
+
+- update to 2024-07-02:
+  * address -Wsign-compare warnings
+
+-------------------------------------------------------------------

Old:
----
  re2-2024-06-01.tar.gz

New:
----
  re2-2024-07-02.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ re2.spec ++++++
--- /var/tmp/diff_new_pack.AEx9lk/_old  2024-07-02 18:14:58.508181506 +0200
+++ /var/tmp/diff_new_pack.AEx9lk/_new  2024-07-02 18:14:58.508181506 +0200
@@ -17,7 +17,7 @@
 #
 
 
-%global longver 2024-06-01
+%global longver 2024-07-02
 %global shortver %(echo %{longver}|sed 's|-||g')
 %define libname libre2-11
 Name:           re2

++++++ re2-2024-06-01.tar.gz -> re2-2024-07-02.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/.github/bazel.sh 
new/re2-2024-07-02/.github/bazel.sh
--- old/re2-2024-06-01/.github/bazel.sh 2024-05-30 22:10:50.000000000 +0200
+++ new/re2-2024-07-02/.github/bazel.sh 2024-07-01 10:31:02.000000000 +0200
@@ -8,10 +8,14 @@
 for compilation_mode in dbg opt
 do
   bazel clean
-  bazel build --compilation_mode=${compilation_mode} -- \
+  bazel build \
+    --extra_toolchains=//python/toolchains:all \
+    --compilation_mode=${compilation_mode} -- \
     //:re2 \
     //python:re2
-  bazel test  --compilation_mode=${compilation_mode} -- \
+  bazel test \
+    --extra_toolchains=//python/toolchains:all \
+    --compilation_mode=${compilation_mode} -- \
     //:all \
     -//:dfa_test \
     -//:exhaustive1_test \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/ci-bazel.yml 
new/re2-2024-07-02/.github/workflows/ci-bazel.yml
--- old/re2-2024-06-01/.github/workflows/ci-bazel.yml   2024-05-30 
22:10:50.000000000 +0200
+++ new/re2-2024-07-02/.github/workflows/ci-bazel.yml   2024-07-01 
10:31:02.000000000 +0200
@@ -11,12 +11,23 @@
       fail-fast: false
       matrix:
         os: [macos-latest, ubuntu-latest, windows-latest]
+        ver: ['3.8', '3.9', '3.10', '3.11', '3.12']
     env:
       BAZELISK_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
     steps:
-      - uses: actions/[email protected]
-      - uses: bazel-contrib/[email protected]
+      - uses: actions/[email protected]
+      - uses: bazel-contrib/[email protected]
         with:
           bazelisk-version: '1.x'
+      - uses: actions/[email protected]
+        with:
+          python-version: ${{ matrix.ver }}
+      - name: Prepare Python ${{ matrix.ver }} environment
+        run: |
+          python -m pip install --upgrade pip
+          python -m pip install --upgrade absl-py mypy
+          python python/toolchains/generate.py
+        shell: bash
       - run: .github/bazel.sh
         shell: bash
+      # TODO(junyer): Run mypy as per https://github.com/google/re2/issues/496.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/ci-cmake.yml 
new/re2-2024-07-02/.github/workflows/ci-cmake.yml
--- old/re2-2024-06-01/.github/workflows/ci-cmake.yml   2024-05-30 
22:10:50.000000000 +0200
+++ new/re2-2024-07-02/.github/workflows/ci-cmake.yml   2024-07-01 
10:31:02.000000000 +0200
@@ -12,7 +12,7 @@
       matrix:
         build_shared_libs: [OFF, ON]
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       - name: Install Abseil, GoogleTest and Benchmark
         run: |
           vcpkg update
@@ -29,7 +29,7 @@
       matrix:
         build_shared_libs: [OFF, ON]
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       - name: Install Abseil, GoogleTest and Benchmark
         run: |
           brew update
@@ -44,7 +44,7 @@
       matrix:
         build_shared_libs: [OFF, ON]
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       - name: Install Abseil, GoogleTest and Benchmark
         run: |
           vcpkg update
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/ci.yml 
new/re2-2024-07-02/.github/workflows/ci.yml
--- old/re2-2024-06-01/.github/workflows/ci.yml 2024-05-30 22:10:50.000000000 
+0200
+++ new/re2-2024-07-02/.github/workflows/ci.yml 2024-07-01 10:31:02.000000000 
+0200
@@ -21,7 +21,7 @@
       # (The other two flags are the default provided for CXXFLAGS in 
Makefile.)
       CXXFLAGS: -O3 -g -std=c++${{ matrix.ver }}
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       - name: Install Abseil, GoogleTest and Benchmark
         run: |
           brew update
@@ -40,7 +40,7 @@
       CXX: clang++-${{ matrix.ver }}
       PKG_CONFIG_PATH: /usr/local/share/vcpkg/installed/x64-linux/lib/pkgconfig
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       - name: Install Clang ${{ matrix.ver }}
         run: |
           # Avoid `Conflicts: python3-lldb-x.y` between packages.
@@ -68,7 +68,7 @@
       CXX: g++-${{ matrix.ver }}
       PKG_CONFIG_PATH: /usr/local/share/vcpkg/installed/x64-linux/lib/pkgconfig
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       - name: Install Abseil, GoogleTest and Benchmark
         run: |
           vcpkg update
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/pages.yml 
new/re2-2024-07-02/.github/workflows/pages.yml
--- old/re2-2024-06-01/.github/workflows/pages.yml      2024-05-30 
22:10:50.000000000 +0200
+++ new/re2-2024-07-02/.github/workflows/pages.yml      2024-07-01 
10:31:02.000000000 +0200
@@ -17,8 +17,8 @@
       # Bazel fails if the username is unknown.
       USER: runner
     steps:
-      - uses: actions/[email protected]
-      - uses: bazel-contrib/[email protected]
+      - uses: actions/[email protected]
+      - uses: bazel-contrib/[email protected]
         with:
           bazelisk-version: '1.x'
       - run: app/build.sh
@@ -37,5 +37,5 @@
     environment: github-pages
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       - uses: actions/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/pr.yml 
new/re2-2024-07-02/.github/workflows/pr.yml
--- old/re2-2024-06-01/.github/workflows/pr.yml 2024-05-30 22:10:50.000000000 
+0200
+++ new/re2-2024-07-02/.github/workflows/pr.yml 2024-07-01 10:31:02.000000000 
+0200
@@ -15,7 +15,7 @@
       pull-requests: write
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       - uses: actions/[email protected]
         with:
           script: |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/python.yml 
new/re2-2024-07-02/.github/workflows/python.yml
--- old/re2-2024-06-01/.github/workflows/python.yml     2024-05-30 
22:10:50.000000000 +0200
+++ new/re2-2024-07-02/.github/workflows/python.yml     2024-07-01 
10:31:02.000000000 +0200
@@ -5,6 +5,10 @@
       build:
         required: true
         type: number
+      force-sdist:
+        required: false
+        type: boolean
+        default: false
 permissions:
   contents: read
 jobs:
@@ -21,8 +25,9 @@
       fail-fast: false
       matrix:
         arch:
-          - { name: X64,   python-name: x86_64,  runs-on: [ubuntu-latest]      
       }
-          - { name: ARM64, python-name: aarch64, runs-on: [self-hosted, linux, 
arm64] }
+          - { name: X64,   python-name: x86_64,  runs-on: [ubuntu-latest]      
        }
+          # TODO(junyer): Update the label after ARM64 graduates from beta.
+          - { name: ARM64, python-name: aarch64, runs-on: 
[arm-ubuntu-arm-22.04-4core] }
         os: [manylinux_2_28]
         ver: ['3.8', '3.9', '3.10', '3.11', '3.12']
     env:
@@ -31,18 +36,19 @@
       # Bazel fails if the username is unknown.
       USER: runner
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       # Stash the timestamp for the commit SHA that triggered the workflow.
       - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}"
         shell: bash
-      - uses: bazel-contrib/[email protected]
+      - uses: bazel-contrib/[email protected]
         with:
           bazelisk-version: '1.x'
       - name: Prepare Python ${{ matrix.ver }} environment
         run: |
           "${PYTHON}" -m pip install --upgrade pip
-          "${PYTHON}" -m pip install --upgrade build wheel auditwheel
-          "${PYTHON}" -m pip install --upgrade absl-py
+          "${PYTHON}" -m pip install --upgrade setuptools build wheel 
auditwheel
+          "${PYTHON}" -m pip install --upgrade absl-py mypy
+          "${PYTHON}" python/toolchains/generate.py
         shell: bash
       - name: Build wheel
         env:
@@ -55,6 +61,10 @@
       - name: Test wheel
         run: |
           "${PYTHON}" -m pip install google_re2-*.whl
+          # Pivot out of the repository so that we test the wheel.
+          DIR=$(mktemp -d)
+          cp re2_test.py "${DIR}"
+          cd "${DIR}"
           "${PYTHON}" re2_test.py
         shell: bash
         working-directory: python
@@ -87,11 +97,11 @@
       # Otherwise, Python refuses to install the built wheel!
       SYSTEM_VERSION_COMPAT: 0
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       # Stash the timestamp for the commit SHA that triggered the workflow.
       - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}"
         shell: bash
-      - uses: bazel-contrib/[email protected]
+      - uses: bazel-contrib/[email protected]
         with:
           bazelisk-version: '1.x'
       - uses: actions/[email protected]
@@ -100,8 +110,9 @@
       - name: Prepare Python ${{ matrix.ver }} environment
         run: |
           python -m pip install --upgrade pip
-          python -m pip install --upgrade build wheel delocate
-          python -m pip install --upgrade absl-py
+          python -m pip install --upgrade setuptools build wheel delocate
+          python -m pip install --upgrade absl-py mypy
+          python python/toolchains/generate.py
         shell: bash
       - name: Build wheel
         env:
@@ -115,6 +126,10 @@
         name: Test wheel
         run: |
           python -m pip install google_re2-*.whl
+          # Pivot out of the repository so that we test the wheel.
+          DIR=$(mktemp -d)
+          cp re2_test.py "${DIR}"
+          cd "${DIR}"
           python re2_test.py
         shell: bash
         working-directory: python
@@ -138,11 +153,11 @@
       BAZEL_CPU: ${{ matrix.arch.bazel-name }}_windows
       PLAT_NAME: ${{ matrix.arch.python-name }}
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       # Stash the timestamp for the commit SHA that triggered the workflow.
       - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}"
         shell: bash
-      - uses: bazel-contrib/[email protected]
+      - uses: bazel-contrib/[email protected]
         with:
           bazelisk-version: '1.x'
       # Lowercase the architecture name for `actions/setup-python`.
@@ -157,8 +172,9 @@
       - name: Prepare Python ${{ matrix.ver }} environment
         run: |
           python -m pip install --upgrade pip
-          python -m pip install --upgrade build wheel delvewheel
-          python -m pip install --upgrade absl-py
+          python -m pip install --upgrade setuptools build wheel delvewheel
+          python -m pip install --upgrade absl-py mypy
+          python python/toolchains/generate.py
         shell: bash
       - name: Build wheel
         env:
@@ -171,6 +187,10 @@
       - name: Test wheel
         run: |
           python -m pip install google_re2-*.whl
+          # Pivot out of the repository so that we test the wheel.
+          DIR=$(mktemp -d)
+          cp re2_test.py "${DIR}"
+          cd "${DIR}"
           python re2_test.py
         shell: bash
         working-directory: python
@@ -190,7 +210,7 @@
       id-token: write
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       # Stash the timestamp for the commit SHA that triggered the workflow.
       - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}"
         shell: bash
@@ -200,10 +220,10 @@
       - name: Prepare Python 3.x environment
         run: |
           python -m pip install --upgrade pip
-          python -m pip install --upgrade build wheel
+          python -m pip install --upgrade setuptools build wheel
         shell: bash
-      - if: inputs.build == 1
-        name: Build source
+      - if: inputs.build <= 1 || inputs.force-sdist == true
+        name: Build sdist
         env:
           SOURCE_DATE_EPOCH: ${{ env.timestamp }}
         run: |
@@ -226,6 +246,6 @@
         shell: bash
         working-directory: python
       - if: inputs.build >= 1
-        uses: pypa/[email protected]
+        uses: pypa/[email protected]
         with:
           packages-dir: python/dist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/release.yml 
new/re2-2024-07-02/.github/workflows/release.yml
--- old/re2-2024-06-01/.github/workflows/release.yml    2024-05-30 
22:10:50.000000000 +0200
+++ new/re2-2024-07-02/.github/workflows/release.yml    2024-07-01 
10:31:02.000000000 +0200
@@ -16,7 +16,7 @@
     env:
       GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
     steps:
-      - uses: actions/[email protected]
+      - uses: actions/[email protected]
       - run: |
           gh release create "${GITHUB_REF_NAME}" \
             --generate-notes --latest --verify-tag \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/BUILD.bazel 
new/re2-2024-07-02/BUILD.bazel
--- old/re2-2024-06-01/BUILD.bazel      2024-05-30 22:10:50.000000000 +0200
+++ new/re2-2024-07-02/BUILD.bazel      2024-07-01 10:31:02.000000000 +0200
@@ -135,6 +135,7 @@
         ":re2",
         "@abseil-cpp//absl/base",
         "@abseil-cpp//absl/base:core_headers",
+        "@abseil-cpp//absl/container:flat_hash_set",
         "@abseil-cpp//absl/flags:flag",
         "@abseil-cpp//absl/log:absl_check",
         "@abseil-cpp//absl/log:absl_log",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/MODULE.bazel 
new/re2-2024-07-02/MODULE.bazel
--- old/re2-2024-06-01/MODULE.bazel     2024-05-30 22:10:50.000000000 +0200
+++ new/re2-2024-07-02/MODULE.bazel     2024-07-01 10:31:02.000000000 +0200
@@ -6,7 +6,7 @@
 
 module(
     name = "re2",
-    version = "2024-06-01",
+    version = "2024-07-02",
     compatibility_level = 1,
 )
 
@@ -14,7 +14,7 @@
 bazel_dep(name = "apple_support", version = "1.15.1")
 bazel_dep(name = "rules_cc", version = "0.0.9")
 bazel_dep(name = "abseil-cpp", version = "20240116.2")
-bazel_dep(name = "rules_python", version = "0.32.2")
+bazel_dep(name = "rules_python", version = "0.33.2")
 bazel_dep(name = "pybind11_bazel", version = "2.12.0")
 
 # This is a temporary hack for `x64_x86_windows`.
@@ -24,6 +24,6 @@
 
 # These dependencies will be ignored when the `re2` module is not
 # the root module (or when `--ignore_dev_dependency` is enabled).
-bazel_dep(name = "google_benchmark", version = "1.8.3", dev_dependency = True)
+bazel_dep(name = "google_benchmark", version = "1.8.4", dev_dependency = True)
 bazel_dep(name = "googletest", version = "1.14.0.bcr.1", dev_dependency = True)
 bazel_dep(name = "abseil-py", version = "2.1.0", dev_dependency = True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/app/build.sh 
new/re2-2024-07-02/app/build.sh
--- old/re2-2024-06-01/app/build.sh     2024-05-30 22:10:50.000000000 +0200
+++ new/re2-2024-07-02/app/build.sh     2024-07-01 10:31:02.000000000 +0200
@@ -7,9 +7,9 @@
 cd ${SRCDIR}
 # Emscripten doesn't support `-fstack-protector`.
 AR=emar CC=emcc \
-  bazel build --compilation_mode=opt \
+  bazel build \
   --copt=-fno-stack-protector \
-  -- :all
+  --compilation_mode=opt -- :all
 cp ../bazel-bin/app/_re2.js ${DSTDIR}
 bazel clean --expunge
 cp app.ts index.html _re2.d.ts ${DSTDIR}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/python/setup.py 
new/re2-2024-07-02/python/setup.py
--- old/re2-2024-06-01/python/setup.py  2024-05-30 22:10:50.000000000 +0200
+++ new/re2-2024-07-02/python/setup.py  2024-07-01 10:31:02.000000000 +0200
@@ -3,11 +3,10 @@
 # license that can be found in the LICENSE file.
 
 import os
+import re
 import setuptools
 import setuptools.command.build_ext
 import shutil
-import sys
-import sysconfig
 
 long_description = r"""A drop-in replacement for the re module.
 
@@ -67,10 +66,7 @@
     except KeyError:
       pass
     # Register the local Python toolchains with highest priority.
-    self.generate_python_toolchains()
     cmd.append('--extra_toolchains=//python/toolchains:all')
-    # Print debug information during toolchain resolution.
-    cmd.append('--toolchain_resolution_debug=.*')
     cmd += ['--compilation_mode=opt', '--', ':all']
     self.spawn(cmd)
 
@@ -82,88 +78,6 @@
     cmd = ['bazel', 'clean', '--expunge']
     self.spawn(cmd)
 
-  def generate_python_toolchains(self):
-    include = sysconfig.get_path('include')
-    libs = os.path.join(include, '../libs')
-
-    os.makedirs('toolchains')
-    shutil.copytree(include, 'toolchains/include')
-    try:
-      shutil.copytree(libs, 'toolchains/libs')
-    except FileNotFoundError:
-      # We must not be running on Windows. :)
-      pass
-
-    with open('toolchains/BUILD.bazel', 'x') as file:
-      file.write(
-          """\
-load("@rules_python//python/cc:py_cc_toolchain.bzl", "py_cc_toolchain")
-load("@rules_python//python:py_runtime.bzl", "py_runtime")
-load("@rules_python//python:py_runtime_pair.bzl", "py_runtime_pair")
-
-package(default_visibility = ["//visibility:public"])
-
-toolchain(
-    name = "py",
-    toolchain = ":py_toolchain",
-    toolchain_type = "@rules_python//python:toolchain_type",
-)
-
-py_runtime_pair(
-    name = "py_toolchain",
-    py3_runtime = ":interpreter",
-)
-
-py_runtime(
-    name = "interpreter",
-    interpreter_path = "{interpreter_path}",
-    interpreter_version_info = {{
-        "major": "{major}",
-        "minor": "{minor}",
-    }},
-    python_version = "PY3",
-)
-
-toolchain(
-    name = "py_cc",
-    toolchain = ":py_cc_toolchain",
-    toolchain_type = "@rules_python//python/cc:toolchain_type",
-)
-
-py_cc_toolchain(
-    name = "py_cc_toolchain",
-    headers = ":headers",
-    libs = ":libraries",
-    python_version = "{major}.{minor}",
-)
-
-cc_library(
-    name = "headers",
-    hdrs = glob(["include/**/*.h"]),
-    includes = ["include"],
-    deps = select({{
-        "@platforms//os:windows": [":interface_library"],
-        "//conditions:default": [],
-    }}),
-)
-
-cc_import(
-    name = "interface_library",
-    interface_library = select({{
-        "@platforms//os:windows": "libs/python{major}{minor}.lib",
-        "//conditions:default": None,
-    }}),
-    system_provided = True,
-)
-
-# Not actually necessary for our purposes. :)
-cc_library(
-    name = "libraries",
-)
-""".format(interpreter_path=sys.executable.replace('\\', '/'),
-           major=sys.version_info.major,
-           minor=sys.version_info.minor))
-
 
 def options():
   bdist_wheel = {}
@@ -190,25 +104,55 @@
     extra_compile_args=['-fvisibility=hidden'],
 )
 
-setuptools.setup(
-    name='google-re2',
-    version='1.1.20240601',
-    description='RE2 Python bindings',
-    long_description=long_description,
-    long_description_content_type='text/plain',
-    author='The RE2 Authors',
-    author_email='[email protected]',
-    url='https://github.com/google/re2',
-    py_modules=['re2'],
-    ext_modules=[ext_module],
-    classifiers=[
-        'Development Status :: 5 - Production/Stable',
-        'Intended Audience :: Developers',
-        'License :: OSI Approved :: BSD License',
-        'Programming Language :: C++',
-        'Programming Language :: Python :: 3.8',
-    ],
-    options=options(),
-    cmdclass={'build_ext': BuildExt},
-    python_requires='~=3.8',
-)
+# We need `re2` to be a package, not a module, because it appears that
+# modules can't have `.pyi` files, so munge the module into a package.
+PACKAGE = 're2'
+try:
+  # If we are building from the sdist, we are already in package form.
+  if not os.path.exists('PKG-INFO'):
+    os.makedirs(PACKAGE)
+    for filename in (
+        're2.py',
+        # TODO(junyer): Populate as per 
https://github.com/google/re2/issues/496.
+        # 're2.pyi',
+        # '_re2.pyi',
+    ):
+      with open(filename, 'r') as file:
+        contents = file.read()
+      filename = re.sub(r'^re2(?=\.py)', '__init__', filename)
+      contents = re.sub(r'^(?=import _)', 'from . ', contents, 
flags=re.MULTILINE)
+      with open(f'{PACKAGE}/{filename}', 'x') as file:
+        file.write(contents)
+    # TODO(junyer): Populate as per https://github.com/google/re2/issues/496.
+    # with open(f'{PACKAGE}/py.typed', 'x') as file:
+    #   pass
+
+  setuptools.setup(
+      name='google-re2',
+      version='1.1.20240702',
+      description='RE2 Python bindings',
+      long_description=long_description,
+      long_description_content_type='text/plain',
+      author='The RE2 Authors',
+      author_email='[email protected]',
+      url='https://github.com/google/re2',
+      packages=[PACKAGE],
+      ext_package=PACKAGE,
+      ext_modules=[ext_module],
+      classifiers=[
+          'Development Status :: 5 - Production/Stable',
+          'Intended Audience :: Developers',
+          'License :: OSI Approved :: BSD License',
+          'Programming Language :: C++',
+          'Programming Language :: Python :: 3.8',
+      ],
+      options=options(),
+      cmdclass={'build_ext': BuildExt},
+      python_requires='~=3.8',
+  )
+except:
+  raise
+else:
+  # If we are building from the sdist, we are already in package form.
+  if not os.path.exists('PKG-INFO'):
+    shutil.rmtree(PACKAGE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/python/toolchains/generate.py 
new/re2-2024-07-02/python/toolchains/generate.py
--- old/re2-2024-06-01/python/toolchains/generate.py    1970-01-01 
01:00:00.000000000 +0100
+++ new/re2-2024-07-02/python/toolchains/generate.py    2024-07-01 
10:31:02.000000000 +0200
@@ -0,0 +1,98 @@
+# Copyright 2019 The RE2 Authors.  All Rights Reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+import os
+import shutil
+import sys
+import sysconfig
+
+
+def generate():
+  include = sysconfig.get_path('include')
+  libs = os.path.join(include, '../libs')
+
+  mydir = os.path.dirname(sys.argv[0]) or '.'
+  shutil.copytree(include, f'{mydir}/include')
+  try:
+    shutil.copytree(libs, f'{mydir}/libs')
+  except FileNotFoundError:
+    # We must not be running on Windows. :)
+    pass
+
+  with open(f'{mydir}/BUILD.bazel', 'x') as file:
+    file.write(
+        """\
+load("@rules_python//python/cc:py_cc_toolchain.bzl", "py_cc_toolchain")
+load("@rules_python//python:py_runtime.bzl", "py_runtime")
+load("@rules_python//python:py_runtime_pair.bzl", "py_runtime_pair")
+
+package(default_visibility = ["//visibility:public"])
+
+toolchain(
+    name = "py",
+    toolchain = ":py_toolchain",
+    toolchain_type = "@rules_python//python:toolchain_type",
+)
+
+py_runtime_pair(
+    name = "py_toolchain",
+    py3_runtime = ":interpreter",
+)
+
+py_runtime(
+    name = "interpreter",
+    interpreter_path = "{interpreter_path}",
+    interpreter_version_info = {{
+        "major": "{major}",
+        "minor": "{minor}",
+    }},
+    python_version = "PY3",
+)
+
+toolchain(
+    name = "py_cc",
+    toolchain = ":py_cc_toolchain",
+    toolchain_type = "@rules_python//python/cc:toolchain_type",
+)
+
+py_cc_toolchain(
+    name = "py_cc_toolchain",
+    headers = ":headers",
+    libs = ":libraries",
+    python_version = "{major}.{minor}",
+)
+
+cc_library(
+    name = "headers",
+    hdrs = glob(["include/**/*.h"]),
+    includes = ["include"],
+    deps = select({{
+        "@platforms//os:windows": [":interface_library"],
+        "//conditions:default": [],
+    }}),
+)
+
+cc_import(
+    name = "interface_library",
+    interface_library = select({{
+        "@platforms//os:windows": "libs/python{major}{minor}.lib",
+        "//conditions:default": None,
+    }}),
+    system_provided = True,
+)
+
+# Not actually necessary for our purposes. :)
+cc_library(
+    name = "libraries",
+)
+""".format(
+            interpreter_path=sys.executable.replace('\\', '/'),
+            major=sys.version_info.major,
+            minor=sys.version_info.minor,
+        )
+    )
+
+
+if __name__ == '__main__':
+  generate()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/re2/bitmap256.h 
new/re2-2024-07-02/re2/bitmap256.h
--- old/re2-2024-06-01/re2/bitmap256.h  2024-05-30 22:10:50.000000000 +0200
+++ new/re2-2024-07-02/re2/bitmap256.h  2024-07-01 10:31:02.000000000 +0200
@@ -51,7 +51,7 @@
  private:
   // Finds the least significant non-zero bit in n.
   static int FindLSBSet(uint64_t n) {
-    ABSL_DCHECK_NE(n, 0);
+    ABSL_DCHECK_NE(n, uint64_t{0});
 #if defined(__GNUC__)
     return __builtin_ctzll(n);
 #elif defined(_MSC_VER) && defined(_M_X64)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/re2/prog.cc 
new/re2-2024-07-02/re2/prog.cc
--- old/re2-2024-06-01/re2/prog.cc      2024-05-30 22:10:50.000000000 +0200
+++ new/re2-2024-07-02/re2/prog.cc      2024-07-01 10:31:02.000000000 +0200
@@ -37,13 +37,13 @@
 // Constructors per Inst opcode
 
 void Prog::Inst::InitAlt(uint32_t out, uint32_t out1) {
-  ABSL_DCHECK_EQ(out_opcode_, 0);
+  ABSL_DCHECK_EQ(out_opcode_, uint32_t{0});
   set_out_opcode(out, kInstAlt);
   out1_ = out1;
 }
 
 void Prog::Inst::InitByteRange(int lo, int hi, int foldcase, uint32_t out) {
-  ABSL_DCHECK_EQ(out_opcode_, 0);
+  ABSL_DCHECK_EQ(out_opcode_, uint32_t{0});
   set_out_opcode(out, kInstByteRange);
   lo_ = lo & 0xFF;
   hi_ = hi & 0xFF;
@@ -51,30 +51,30 @@
 }
 
 void Prog::Inst::InitCapture(int cap, uint32_t out) {
-  ABSL_DCHECK_EQ(out_opcode_, 0);
+  ABSL_DCHECK_EQ(out_opcode_, uint32_t{0});
   set_out_opcode(out, kInstCapture);
   cap_ = cap;
 }
 
 void Prog::Inst::InitEmptyWidth(EmptyOp empty, uint32_t out) {
-  ABSL_DCHECK_EQ(out_opcode_, 0);
+  ABSL_DCHECK_EQ(out_opcode_, uint32_t{0});
   set_out_opcode(out, kInstEmptyWidth);
   empty_ = empty;
 }
 
 void Prog::Inst::InitMatch(int32_t id) {
-  ABSL_DCHECK_EQ(out_opcode_, 0);
+  ABSL_DCHECK_EQ(out_opcode_, uint32_t{0});
   set_opcode(kInstMatch);
   match_id_ = id;
 }
 
 void Prog::Inst::InitNop(uint32_t out) {
-  ABSL_DCHECK_EQ(out_opcode_, 0);
+  ABSL_DCHECK_EQ(out_opcode_, uint32_t{0});
   set_opcode(kInstNop);
 }
 
 void Prog::Inst::InitFail() {
-  ABSL_DCHECK_EQ(out_opcode_, 0);
+  ABSL_DCHECK_EQ(out_opcode_, uint32_t{0});
   set_opcode(kInstFail);
 }
 
@@ -1113,7 +1113,7 @@
 #if defined(__AVX2__)
 // Finds the least significant non-zero bit in n.
 static int FindLSBSet(uint32_t n) {
-  ABSL_DCHECK_NE(n, 0);
+  ABSL_DCHECK_NE(n, uint32_t{0});
 #if defined(__GNUC__)
   return __builtin_ctz(n);
 #elif defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86))
@@ -1135,7 +1135,7 @@
 #endif
 
 const void* Prog::PrefixAccel_FrontAndBack(const void* data, size_t size) {
-  ABSL_DCHECK_GE(prefix_size_, 2);
+  ABSL_DCHECK_GE(prefix_size_, size_t{2});
   if (size < prefix_size_)
     return NULL;
   // Don't bother searching the last prefix_size_-1 bytes for prefix_front_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/re2/re2.cc 
new/re2-2024-07-02/re2/re2.cc
--- old/re2-2024-06-01/re2/re2.cc       2024-05-30 22:10:50.000000000 +0200
+++ new/re2-2024-07-02/re2/re2.cc       2024-07-01 10:31:02.000000000 +0200
@@ -332,7 +332,7 @@
 
 // Finds the most significant non-zero bit in n.
 static int FindMSBSet(uint32_t n) {
-  ABSL_DCHECK_NE(n, 0);
+  ABSL_DCHECK_NE(n, uint32_t{0});
 #if defined(__GNUC__)
   return 31 ^ __builtin_clz(n);
 #elif defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86))
@@ -1050,7 +1050,7 @@
       out->push_back('\\');
     } else {
       if (options_.log_errors())
-        ABSL_LOG(ERROR) << "invalid rewrite pattern: " << rewrite.data();
+        ABSL_LOG(ERROR) << "invalid rewrite pattern: " << rewrite;
       return false;
     }
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/re2/regexp.cc 
new/re2-2024-07-02/re2/regexp.cc
--- old/re2-2024-06-01/re2/regexp.cc    2024-05-30 22:10:50.000000000 +0200
+++ new/re2-2024-07-02/re2/regexp.cc    2024-07-01 10:31:02.000000000 +0200
@@ -498,7 +498,7 @@
     if (n == 0)
       break;
 
-    ABSL_DCHECK_GE(n, 2);
+    ABSL_DCHECK_GE(n, size_t{2});
     a = stk[n-2];
     b = stk[n-1];
     stk.resize(n-2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/re2/testing/filtered_re2_test.cc 
new/re2-2024-07-02/re2/testing/filtered_re2_test.cc
--- old/re2-2024-06-01/re2/testing/filtered_re2_test.cc 2024-05-30 
22:10:50.000000000 +0200
+++ new/re2-2024-07-02/re2/testing/filtered_re2_test.cc 2024-07-01 
10:31:02.000000000 +0200
@@ -33,14 +33,14 @@
   FilterTestVars v;
 
   v.f.Compile(&v.atoms);
-  EXPECT_EQ(0, v.atoms.size());
+  EXPECT_EQ(size_t{0}, v.atoms.size());
 
   // Compile has no effect at all when called before Add: it will not
   // record that it has been called and it will not clear the vector.
   // The second point does not matter here, but the first point means
   // that an error will be logged during the call to AllMatches.
   v.f.AllMatches("foo", v.atom_indices, &v.matches);
-  EXPECT_EQ(0, v.matches.size());
+  EXPECT_EQ(size_t{0}, v.matches.size());
 }
 
 TEST(FilteredRE2Test, SmallOrTest) {
@@ -49,10 +49,10 @@
   v.f.Add("(foo|bar)", v.opts, &id);
 
   v.f.Compile(&v.atoms);
-  EXPECT_EQ(0, v.atoms.size());
+  EXPECT_EQ(size_t{0}, v.atoms.size());
 
   v.f.AllMatches("lemurs bar", v.atom_indices, &v.matches);
-  EXPECT_EQ(1, v.matches.size());
+  EXPECT_EQ(size_t{1}, v.matches.size());
   EXPECT_EQ(id, v.matches[0]);
 }
 
@@ -63,12 +63,12 @@
   v.opts.set_encoding(RE2::Options::EncodingLatin1);
   v.f.Add("\xde\xadQ\xbe\xef", v.opts, &id);
   v.f.Compile(&v.atoms);
-  EXPECT_EQ(1, v.atoms.size());
+  EXPECT_EQ(size_t{1}, v.atoms.size());
   EXPECT_EQ(v.atoms[0], "\xde\xadq\xbe\xef");
 
   v.atom_indices.push_back(0);
   v.f.AllMatches("foo\xde\xadQ\xbe\xeflemur", v.atom_indices, &v.matches);
-  EXPECT_EQ(1, v.matches.size());
+  EXPECT_EQ(size_t{1}, v.matches.size());
   EXPECT_EQ(id, v.matches[0]);
 }
 
@@ -256,7 +256,7 @@
   FindAtomIndices(v.atoms, atoms, &atom_ids);
   std::vector<int> matching_regexps;
   v.f.AllMatches(text, atom_ids, &matching_regexps);
-  EXPECT_EQ(1, matching_regexps.size());
+  EXPECT_EQ(size_t{1}, matching_regexps.size());
 
   text = "abc12312yyyzzz";
   atoms.clear();
@@ -265,7 +265,7 @@
   atoms.push_back("yyyzzz");
   FindAtomIndices(v.atoms, atoms, &atom_ids);
   v.f.AllMatches(text, atom_ids, &matching_regexps);
-  EXPECT_EQ(1, matching_regexps.size());
+  EXPECT_EQ(size_t{1}, matching_regexps.size());
 
   text = "abcd12yyy32yyyzzz";
   atoms.clear();
@@ -278,7 +278,7 @@
   for (size_t i = 0; i < atom_ids.size(); i++)
     ABSL_LOG(INFO) << "i: " << i << " : " << atom_ids[i];
   v.f.AllMatches(text, atom_ids, &matching_regexps);
-  EXPECT_EQ(2, matching_regexps.size());
+  EXPECT_EQ(size_t{2}, matching_regexps.size());
 }
 
 TEST(FilteredRE2Test, EmptyStringInStringSetBug) {
@@ -301,43 +301,43 @@
   v1.f.Add("foo\\d+", v1.opts, &id);
   EXPECT_EQ(0, id);
   v1.f.Compile(&v1.atoms);
-  EXPECT_EQ(1, v1.atoms.size());
+  EXPECT_EQ(size_t{1}, v1.atoms.size());
   EXPECT_EQ("foo", v1.atoms[0]);
   v1.f.AllMatches("abc foo1 xyz", {0}, &v1.matches);
-  EXPECT_EQ(1, v1.matches.size());
+  EXPECT_EQ(size_t{1}, v1.matches.size());
   EXPECT_EQ(0, v1.matches[0]);
   v1.f.AllMatches("abc bar2 xyz", {0}, &v1.matches);
-  EXPECT_EQ(0, v1.matches.size());
+  EXPECT_EQ(size_t{0}, v1.matches.size());
 
   // The moved-to object should do what the moved-from object did.
   FilterTestVars v2;
   v2.f = std::move(v1.f);
   v2.f.AllMatches("abc foo1 xyz", {0}, &v2.matches);
-  EXPECT_EQ(1, v2.matches.size());
+  EXPECT_EQ(size_t{1}, v2.matches.size());
   EXPECT_EQ(0, v2.matches[0]);
   v2.f.AllMatches("abc bar2 xyz", {0}, &v2.matches);
-  EXPECT_EQ(0, v2.matches.size());
+  EXPECT_EQ(size_t{0}, v2.matches.size());
 
   // The moved-from object should have been reset and be reusable.
   v1.f.Add("bar\\d+", v1.opts, &id);
   EXPECT_EQ(0, id);
   v1.f.Compile(&v1.atoms);
-  EXPECT_EQ(1, v1.atoms.size());
+  EXPECT_EQ(size_t{1}, v1.atoms.size());
   EXPECT_EQ("bar", v1.atoms[0]);
   v1.f.AllMatches("abc foo1 xyz", {0}, &v1.matches);
-  EXPECT_EQ(0, v1.matches.size());
+  EXPECT_EQ(size_t{0}, v1.matches.size());
   v1.f.AllMatches("abc bar2 xyz", {0}, &v1.matches);
-  EXPECT_EQ(1, v1.matches.size());
+  EXPECT_EQ(size_t{1}, v1.matches.size());
   EXPECT_EQ(0, v1.matches[0]);
 
   // Verify that "overwriting" works and also doesn't leak memory.
   // (The latter will need a leak detector such as LeakSanitizer.)
   v1.f = std::move(v2.f);
   v1.f.AllMatches("abc foo1 xyz", {0}, &v1.matches);
-  EXPECT_EQ(1, v1.matches.size());
+  EXPECT_EQ(size_t{1}, v1.matches.size());
   EXPECT_EQ(0, v1.matches[0]);
   v1.f.AllMatches("abc bar2 xyz", {0}, &v1.matches);
-  EXPECT_EQ(0, v1.matches.size());
+  EXPECT_EQ(size_t{0}, v1.matches.size());
 }
 
 }  //  namespace re2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/re2/testing/re2_test.cc 
new/re2-2024-07-02/re2/testing/re2_test.cc
--- old/re2-2024-06-01/re2/testing/re2_test.cc  2024-05-30 22:10:50.000000000 
+0200
+++ new/re2-2024-07-02/re2/testing/re2_test.cc  2024-07-01 10:31:02.000000000 
+0200
@@ -558,14 +558,14 @@
     RE2 re("(hello world)");
     ASSERT_EQ(re.NumberOfCapturingGroups(), 1);
     const std::map<std::string, int>& m = re.NamedCapturingGroups();
-    ASSERT_EQ(m.size(), 0);
+    ASSERT_EQ(m.size(), size_t{0});
   }
 
   {
     RE2 re("(?P<A>expr(?P<B>expr)(?P<C>expr))((expr)(?P<D>expr))");
     ASSERT_EQ(re.NumberOfCapturingGroups(), 6);
     const std::map<std::string, int>& m = re.NamedCapturingGroups();
-    ASSERT_EQ(m.size(), 4);
+    ASSERT_EQ(m.size(), size_t{4});
     ASSERT_EQ(m.find("A")->second, 1);
     ASSERT_EQ(m.find("B")->second, 2);
     ASSERT_EQ(m.find("C")->second, 3);
@@ -687,7 +687,7 @@
   absl::string_view sp;
   // string_view-arg
   ASSERT_TRUE(RE2::FullMatch("ruby:1234", "(\\w+):(\\d+)", &sp, &i));
-  ASSERT_EQ(sp.size(), 4);
+  ASSERT_EQ(sp.size(), size_t{4});
   ASSERT_TRUE(memcmp(sp.data(), "ruby", 4) == 0);
   ASSERT_EQ(i, 1234);
 }
@@ -797,6 +797,11 @@
     ASSERT_EQ(c, 'H');
   }
   {
+    signed char c;
+    ASSERT_TRUE(RE2::FullMatch("Hello", "(H)ello", &c));
+    ASSERT_EQ(c, static_cast<signed char>('H'));
+  }
+  {
     unsigned char c;
     ASSERT_TRUE(RE2::FullMatch("Hello", "(H)ello", &c));
     ASSERT_EQ(c, static_cast<unsigned char>('H'));
@@ -841,7 +846,7 @@
   {
     uint32_t v;
     static const uint32_t max = UINT32_C(0xffffffff);
-    ASSERT_TRUE(RE2::FullMatch("100",         "(\\d+)", &v)); ASSERT_EQ(v, 
100);
+    ASSERT_TRUE(RE2::FullMatch("100",         "(\\d+)", &v)); ASSERT_EQ(v, 
uint32_t{100});
     ASSERT_TRUE(RE2::FullMatch("4294967295",  "(\\d+)", &v)); ASSERT_EQ(v, 
max);
     ASSERT_FALSE(RE2::FullMatch("4294967296", "(\\d+)", &v));
     ASSERT_FALSE(RE2::FullMatch("-1",         "(\\d+)", &v));
@@ -879,7 +884,7 @@
     static const uint64_t max = UINT64_C(0xffffffffffffffff);
     std::string str;
 
-    ASSERT_TRUE(RE2::FullMatch("100",  "(-?\\d+)", &v));  ASSERT_EQ(v, 100);
+    ASSERT_TRUE(RE2::FullMatch("100",  "(-?\\d+)", &v));  ASSERT_EQ(v, 
uint64_t{100});
     ASSERT_TRUE(RE2::FullMatch("-100", "(-?\\d+)", &v2)); ASSERT_EQ(v2, -100);
 
     str = std::to_string(max);
@@ -897,11 +902,11 @@
     float v;
     ASSERT_TRUE(RE2::FullMatch("100",   "(.*)", &v)); ASSERT_EQ(v, 100);
     ASSERT_TRUE(RE2::FullMatch("-100.", "(.*)", &v)); ASSERT_EQ(v, -100);
-    ASSERT_TRUE(RE2::FullMatch("1e23",  "(.*)", &v)); ASSERT_EQ(v, 
float(1e23));
+    ASSERT_TRUE(RE2::FullMatch("1e23",  "(.*)", &v)); ASSERT_EQ(v, 
float{1e23});
     ASSERT_TRUE(RE2::FullMatch(" 100",  "(.*)", &v)); ASSERT_EQ(v, 100);
 
     ASSERT_TRUE(RE2::FullMatch(zeros + "1e23",  "(.*)", &v));
-    ASSERT_EQ(v, float(1e23));
+    ASSERT_EQ(v, float{1e23});
 
     // 6700000000081920.1 is an edge case.
     // 6700000000081920 is exactly halfway between
@@ -930,9 +935,11 @@
     double v;
     ASSERT_TRUE(RE2::FullMatch("100",   "(.*)", &v)); ASSERT_EQ(v, 100);
     ASSERT_TRUE(RE2::FullMatch("-100.", "(.*)", &v)); ASSERT_EQ(v, -100);
-    ASSERT_TRUE(RE2::FullMatch("1e23",  "(.*)", &v)); ASSERT_EQ(v, 1e23);
+    ASSERT_TRUE(RE2::FullMatch("1e23",  "(.*)", &v)); ASSERT_EQ(v, 
double{1e23});
+    ASSERT_TRUE(RE2::FullMatch(" 100",  "(.*)", &v)); ASSERT_EQ(v, 100);
+
     ASSERT_TRUE(RE2::FullMatch(zeros + "1e23", "(.*)", &v));
-    ASSERT_EQ(v, double(1e23));
+    ASSERT_EQ(v, double{1e23});
 
     ASSERT_TRUE(RE2::FullMatch("0.1", "(.*)", &v));
     ASSERT_EQ(v, 0.1) << absl::StrFormat("%.17g != %.17g", v, 0.1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/re2/testing/regexp_test.cc 
new/re2-2024-07-02/re2/testing/regexp_test.cc
--- old/re2-2024-06-01/re2/testing/regexp_test.cc       2024-05-30 
22:10:50.000000000 +0200
+++ new/re2-2024-07-02/re2/testing/regexp_test.cc       2024-07-01 
10:31:02.000000000 +0200
@@ -54,8 +54,8 @@
   EXPECT_EQ(4, x->NumCaptures());
   const std::map<std::string, int>* have = x->NamedCaptures();
   EXPECT_TRUE(have != NULL);
-  EXPECT_EQ(2, have->size());  // there are only two named groups in
-                               // the regexp: 'g1' and 'g2'.
+  // there are only two named groups in the regexp: 'g1' and 'g2'.
+  EXPECT_EQ(size_t{2}, have->size());
   std::map<std::string, int> want;
   want["g1"] = 1;
   want["g2"] = 3;
@@ -73,7 +73,7 @@
   EXPECT_EQ(4, x->NumCaptures());
   const std::map<int, std::string>* have = x->CaptureNames();
   EXPECT_TRUE(have != NULL);
-  EXPECT_EQ(3, have->size());
+  EXPECT_EQ(size_t{3}, have->size());
   std::map<int, std::string> want;
   want[1] = "g1";
   want[3] = "g2";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/re2/testing/set_test.cc 
new/re2-2024-07-02/re2/testing/set_test.cc
--- old/re2-2024-06-01/re2/testing/set_test.cc  2024-05-30 22:10:50.000000000 
+0200
+++ new/re2-2024-07-02/re2/testing/set_test.cc  2024-07-01 10:31:02.000000000 
+0200
@@ -28,16 +28,16 @@
 
   std::vector<int> v;
   ASSERT_EQ(s.Match("foobar", &v), true);
-  ASSERT_EQ(v.size(), 2);
+  ASSERT_EQ(v.size(), size_t{2});
   ASSERT_EQ(v[0], 0);
   ASSERT_EQ(v[1], 1);
 
   ASSERT_EQ(s.Match("fooba", &v), true);
-  ASSERT_EQ(v.size(), 1);
+  ASSERT_EQ(v.size(), size_t{1});
   ASSERT_EQ(v[0], 0);
 
   ASSERT_EQ(s.Match("oobar", &v), true);
-  ASSERT_EQ(v.size(), 1);
+  ASSERT_EQ(v.size(), size_t{1});
   ASSERT_EQ(v[0], 1);
 }
 
@@ -56,21 +56,21 @@
 
   std::vector<int> v;
   ASSERT_EQ(s.Match("foobar", &v), true);
-  ASSERT_EQ(v.size(), 2);
+  ASSERT_EQ(v.size(), size_t{2});
   ASSERT_EQ(v[0], 0);
   ASSERT_EQ(v[1], 1);
 
   ASSERT_EQ(s.Match("obarfoobaroo", &v), true);
-  ASSERT_EQ(v.size(), 2);
+  ASSERT_EQ(v.size(), size_t{2});
   ASSERT_EQ(v[0], 0);
   ASSERT_EQ(v[1], 1);
 
   ASSERT_EQ(s.Match("fooba", &v), true);
-  ASSERT_EQ(v.size(), 1);
+  ASSERT_EQ(v.size(), size_t{1});
   ASSERT_EQ(v[0], 0);
 
   ASSERT_EQ(s.Match("oobar", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 }
 
 TEST(Set, UnanchoredDollar) {
@@ -84,11 +84,11 @@
 
   std::vector<int> v;
   ASSERT_EQ(s.Match("foo", &v), true);
-  ASSERT_EQ(v.size(), 1);
+  ASSERT_EQ(v.size(), size_t{1});
   ASSERT_EQ(v[0], 0);
 
   ASSERT_EQ(s.Match("foobar", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 }
 
 TEST(Set, UnanchoredWordBoundary) {
@@ -103,14 +103,14 @@
 
   std::vector<int> v;
   ASSERT_EQ(s.Match("foo", &v), true);
-  ASSERT_EQ(v.size(), 1);
+  ASSERT_EQ(v.size(), size_t{1});
   ASSERT_EQ(v[0], 0);
 
   ASSERT_EQ(s.Match("foobar", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 
   ASSERT_EQ(s.Match("foo bar", &v), true);
-  ASSERT_EQ(v.size(), 1);
+  ASSERT_EQ(v.size(), size_t{1});
   ASSERT_EQ(v[0], 0);
 }
 
@@ -130,20 +130,20 @@
 
   std::vector<int> v;
   ASSERT_EQ(s.Match("foobar", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 
   ASSERT_EQ(s.Match("fooba", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 
   ASSERT_EQ(s.Match("oobar", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 
   ASSERT_EQ(s.Match("foo", &v), true);
-  ASSERT_EQ(v.size(), 1);
+  ASSERT_EQ(v.size(), size_t{1});
   ASSERT_EQ(v[0], 0);
 
   ASSERT_EQ(s.Match("bar", &v), true);
-  ASSERT_EQ(v.size(), 1);
+  ASSERT_EQ(v.size(), size_t{1});
   ASSERT_EQ(v[0], 1);
 }
 
@@ -157,10 +157,10 @@
 
   std::vector<int> v;
   ASSERT_EQ(s.Match("", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 
   ASSERT_EQ(s.Match("foobar", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 }
 
 TEST(Set, EmptyAnchored) {
@@ -173,10 +173,10 @@
 
   std::vector<int> v;
   ASSERT_EQ(s.Match("", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 
   ASSERT_EQ(s.Match("foobar", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 }
 
 TEST(Set, Prefix) {
@@ -191,14 +191,14 @@
 
   std::vector<int> v;
   ASSERT_EQ(s.Match("/prefix", &v), false);
-  ASSERT_EQ(v.size(), 0);
+  ASSERT_EQ(v.size(), size_t{0});
 
   ASSERT_EQ(s.Match("/prefix/", &v), true);
-  ASSERT_EQ(v.size(), 1);
+  ASSERT_EQ(v.size(), size_t{1});
   ASSERT_EQ(v[0], 0);
 
   ASSERT_EQ(s.Match("/prefix/42", &v), true);
-  ASSERT_EQ(v.size(), 1);
+  ASSERT_EQ(v.size(), size_t{1});
   ASSERT_EQ(v[0], 0);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-06-01/re2/testing/string_generator_test.cc 
new/re2-2024-07-02/re2/testing/string_generator_test.cc
--- old/re2-2024-06-01/re2/testing/string_generator_test.cc     2024-05-30 
22:10:50.000000000 +0200
+++ new/re2-2024-07-02/re2/testing/string_generator_test.cc     2024-07-01 
10:31:02.000000000 +0200
@@ -47,7 +47,7 @@
     EXPECT_TRUE(g.HasNext());
     absl::string_view sp = g.Next();
     EXPECT_EQ(sp.data(), static_cast<const char*>(NULL));
-    EXPECT_EQ(sp.size(), 0);
+    EXPECT_EQ(sp.size(), size_t{0});
   }
 
   while (g.HasNext()) {

Reply via email to