`SELECT bitShiftLeft(toInt256(-2), number)`

`shift left for negative lhsbers is underfined!`

See https://clickhouse-test-reports.s3.yandex.net/14525/44726c37c3003ec8112dbf32efa350bd595163b3/fuzzer/report.html#fail1
template <typename T>
    constexpr wide_integer(T rhs) noexcept;
    template <typename T>
    constexpr wide_integer(std::initializer_list<T> il) noexcept;
    
    template <size_t Bits2, typename Signed2>
    constexpr wide_integer<Bits, Signed> & operator=(const wide_integer<Bits2, Signed2> & rhs) noexcept;
    template <typename Arithmetic>
    constexpr wide_integer<Bits, Signed> & operator=(Arithmetic rhs) noexcept;
    template <typename Arithmetic>
    constexpr wide_integer<Bits, Signed> & operator*=(const Arithmetic & rhs);
    template <typename Arithmetic>
    constexpr wide_integer<Bits, Signed> & operator/=(const Arithmetic & rhs);
    template <typename Arithmetic>
    constexpr wide_integer<Bits, Signed> & operator+=(const Arithmetic & rhs) noexcept(is_same<Signed, unsigned>::value);
    template <typename Arithmetic>
    constexpr wide_integer<Bits, Signed> & operator-=(const Arithmetic & rhs) noexcept(is_same<Signed, unsigned>::value);
    template <typename Integral>
    constexpr wide_integer<Bits, Signed> & operator%=(const Integral & rhs);
    template <typename Integral>
    constexpr wide_integer<Bits, Signed> & operator&=(const Integral & rhs) noexcept;
    template <typename Integral>
    constexpr wide_integer<Bits, Signed> & operator|=(const Integral & rhs) noexcept;
    template <typename Integral>
    constexpr wide_integer<Bits, Signed> & operator^=(const Integral & rhs) noexcept;
    constexpr wide_integer<Bits, Signed> & operator<<=(int n);
    constexpr wide_integer<Bits, Signed> & operator>>=(int n) noexcept;