Opened 3 years ago

Last modified 3 years ago

#747 assigned ожидаются исправления

WW_linq Kuznets lab_14

Reported by: Anton Owned by: Антон Филатов
Component: WW_linq Version: 2.0
Keywords: Cc:

Description


Change History (3)

comment:1 Changed 3 years ago by Антон Филатов

Type: ожидается проверкаожидаются исправления

Всё работает, но иногда на until, where и select возникают копии.

Вот пример такого теста

template<typename F>
auto force_move(F &&f) {
  return NonCopyableFunctorWrapper<F>(std::move(f));
}
// NonCopyableFunctorWrapper - это класс-обёртка над указателем на функцию с правильно определённым оператором() и говорящим конструктором копирования

    auto xs = std::vector<int>{9, 4, 8, 1, -3, 8, 7};
    auto res = from(xs.begin(), xs.end()).until(force_move([](int x) { return x < 0; })).to_vector();

    assert((std::vector<int>{9, 4, 8, 1}) == res);

7/10

comment:2 Changed 3 years ago by Anton

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 3 years ago by Антон Филатов

Type: ожидается проверкаожидаются исправления

Что-то всё поломалось. Сегфолты полезли на многих тестах
Просто вот такой тест поадает с bad_alloc

std::string abc[] = {"a", "b", "c", "d"};
    auto res = from(abc, abc+4).to_vector();
    assert((std::vector<std::string>{"a", "b", "c", "d"}) == res);

из-за этого не могу проверить, починили ли вы предыдущую ошибку

И проверьте валгринд - что-то он периодически ругается

Last edited 3 years ago by Антон Филатов (previous) (diff)
Note: See TracTickets for help on using tickets.