https://clickhouse-test-reports.s3.yandex.net/20492/c5b96a522e29b38eae3f6c2d945540dd234e3c34/fuzzer_msan/server.log

```
for i in {1..100}; do clickhouse-client --query "SELECT toUInt8(assumeNotNull(cast(cast(NULL, 'Nullable(String)'), 'Nullable(Enum8(\'Hello\' = 1))')))"; done

160
224
128
192
64
64
32
160
128
192
128
224
128
160
0
96
64
32
192
224
64
96
224
96
128
192
192
128
...
```
{
        
        if constexpr (std::is_same_v<FromDataType, DataTypeFixedString>)
            while (!in.eof() && *in.position() == 0)
                ++in.position();
        if (in.eof())
            return true;
        
        if (std::is_same_v<ToDataType, DataTypeDate> && (in.buffer().size()) == strlen("YYYY-MM-DD hh:mm:ss"))
            return true;
        return false;
    }
    template <typename Additions = void *>
    static ColumnPtr execute(const ColumnsWithTypeAndName & arguments, const DataTypePtr & res_type, size_t input_rows_count,
                        Additions additions [[maybe_unused]] = Additions())
    {
        using ColVecTo = typename ToDataType::ColumnType;
        const DateLUTImpl * local_time_zone [[maybe_unused]] = nullptr;
        const DateLUTImpl * utc_time_zone [[maybe_unused]] = nullptr;
        
        if constexpr (std::is_same_v<ToDataType, DataTypeDateTime> || to_datetime64)
        {