• Bug#1108920: libbctoolbox-dev: cannot bind non-const lvalue reference o

    From Frank Heckenbach@21:1/5 to All on Mon Jul 7 21:50:01 2025
    Package: libbctoolbox-dev
    Version: 5.3.105-1
    Severity: normal
    Tags: patch

    /usr/include/bctoolbox/logging.h: In function "pumpstream& operator<<(pumpstream&&, _Tp&&)":
    /usr/include/bctoolbox/logging.h:392:16: error: cannot bind non-const lvalue reference of type "pumpstream&" to an rvalue of type "pumpstream"
    392 | return pumpStream;
    | ^~~~~~~~~~

    Patch:

    --- /usr/include/bctoolbox/logging.h
    +++ /usr/include/bctoolbox/logging.h
    @@ -359,7 +359,7 @@
    template <typename _Tp>
    friend pumpstream &operator<<(pumpstream &__os, _Tp &&__x);
    template <typename _Tp>
    - friend pumpstream &operator<<(pumpstream &&__os, _Tp &&__x);
    + friend pumpstream &&operator<<(pumpstream &&__os, _Tp &&__x);
    friend pumpstream &operator<<(pumpstream &__os, std::ostream &(*pf)(std::ostream &));

    private:
    @@ -385,7 +385,7 @@
    }

    template <typename T>
    -inline pumpstream &operator<<(pumpstream &&pumpStream, T &&x) {
    +inline pumpstream &&operator<<(pumpstream &&pumpStream, T &&x) {
    if (pumpStream.mIslogLevelEnabled) {
    pumpStream.mOstringstream << std::forward<T>(x);
    }

    -- System Information:
    Debian Release: 13.0
    APT prefers testing-security
    APT policy: (500, 'testing-security'), (500, 'testing-debug'), (500, 'testing')
    Architecture: amd64 (x86_64)

    Kernel: Linux 6.1.0-35-amd64 (SMP w/24 CPU threads; PREEMPT)
    Kernel taint flags: TAINT_WARN
    Locale: