• 
      

    Fix a regression in cache_memoize with Python 3.7.

    Review Request #12427 — Created June 30, 2022 and submitted

    Information

    Djblets
    release-3.x

    Reviewers

    The recent work on the cache_memoize() logic introduced some syntax
    that's only compatible with Python 3.8. The code in question tried to
    use the yield a, *b syntax to yield a tuple composed of a and the
    contents of tuple b. This does not work in Python 3.7.

    Instead, we're now using yield (a,) + b, which is the equivalent
    behavior.

    All unit tests pass on Python 3.7 through 3.10.

    Summary ID
    Fix a regression in cache_memoize with Python 3.7.
    The recent work on the `cache_memoize()` logic introduced some syntax that's only compatible with Python 3.8. The code in question tried to use the `yield a, *b` syntax to yield a tuple composed of `a` and the contents of tuple `b`. This does not work in Python 3.7. Instead, we're now using `yield (a,) + b`, which is the equivalent behavior.
    a40abe68eb4cedb5319c26b37cc167378c29aab7
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-3.x (b23e420)