Size: a a a

2020 October 15

..

.D.U.Ż.Y. .D.Y.M. in pro.cxx
postgres
источник

IZ

Ilia Zviagin in pro.cxx
Тоды да, ""
источник

VF

Vlad Faust in pro.cxx
Ребят, у MSVC есть неприятный баг касательно move-инга std::function. Я буду рад, если вы поможете мне с work around'ом этой проблемы. Что я только не перепробовал, и оборачивал всё в лямбды, и даже кастовал в (std::packaged_task<void>), всё без толку, тесты не проходят. В случае каста, кстати, любой future всегда возвращает 1 в качестве пейлоада. Вот тут репо специально сделал: https://github.com/vladfaust/thread-pool-msvc-bug
источник

EP

Egor Pugin in pro.cxx
Vlad Faust
Ребят, у MSVC есть неприятный баг касательно move-инга std::function. Я буду рад, если вы поможете мне с work around'ом этой проблемы. Что я только не перепробовал, и оборачивал всё в лямбды, и даже кастовал в (std::packaged_task<void>), всё без толку, тесты не проходят. В случае каста, кстати, любой future всегда возвращает 1 в качестве пейлоада. Вот тут репо специально сделал: https://github.com/vladfaust/thread-pool-msvc-bug
1) попробуй собрать clang-cl вместо clang++
2) попробуй 11 llvm
источник

ПК

Побитый Кирпич... in pro.cxx
Vlad Faust
Ребят, у MSVC есть неприятный баг касательно move-инга std::function. Я буду рад, если вы поможете мне с work around'ом этой проблемы. Что я только не перепробовал, и оборачивал всё в лямбды, и даже кастовал в (std::packaged_task<void>), всё без толку, тесты не проходят. В случае каста, кстати, любой future всегда возвращает 1 в качестве пейлоада. Вот тут репо специально сделал: https://github.com/vladfaust/thread-pool-msvc-bug
Обычно если надо что то сделать муваемым, то workaround - оборот в unique_ptr
источник

VF

Vlad Faust in pro.cxx
Egor Pugin
1) попробуй собрать clang-cl вместо clang++
2) попробуй 11 llvm
Ни то, ни другое не помогут, так как это баг в имплементации на стороне MSVC, и этот баг существует в любой доступной версии MSVC (i.e. ещё не поправлен)
источник

VF

Vlad Faust in pro.cxx
Побитый Кирпич
Обычно если надо что то сделать муваемым, то workaround - оборот в unique_ptr
Ну так, для того, чтобы обернуть в unique_ptr, надо замувать объект или вызывать std::make_unique. Не работает.
источник

ПК

Побитый Кирпич... in pro.cxx
Vlad Faust
Ни то, ни другое не помогут, так как это баг в имплементации на стороне MSVC, и этот баг существует в любой доступной версии MSVC (i.e. ещё не поправлен)
Вроде поправлен в отдельной ветке, можешь сам собрать std либу :)
источник

АР

Андрей Руссков... in pro.cxx
в с++20 разве нет еще movable function?
источник

ПК

Побитый Кирпич... in pro.cxx
Vlad Faust
Ну так, для того, чтобы обернуть в unique_ptr, надо замувать объект или вызывать std::make_unique. Не работает.
Вроде как если ты можешь создать объект, то можешь и std::make_unique вызвать
источник

VF

Vlad Faust in pro.cxx
Андрей Руссков
в с++20 разве нет еще movable function?
Есть. Только оно не работает в MSVC
источник

VF

Vlad Faust in pro.cxx
Побитый Кирпич
Вроде поправлен в отдельной ветке, можешь сам собрать std либу :)
Не вариант, у меня end-user c++ project, его будут юзеры собирать
источник

VF

Vlad Faust in pro.cxx
Побитый Кирпич
Вроде как если ты можешь создать объект, то можешь и std::make_unique вызвать
Сейчас попробую ещё раз
источник

EP

Egor Pugin in pro.cxx
Vlad Faust
Ни то, ни другое не помогут, так как это баг в имплементации на стороне MSVC, и этот баг существует в любой доступной версии MSVC (i.e. ещё не поправлен)
если его cl.exe тоже не собирает, открой им тикет
источник

ПК

Побитый Кирпич... in pro.cxx
Egor Pugin
если его cl.exe тоже не собирает, открой им тикет
Дак причем тут компилятор это баг в std либе я так понял
источник

EP

Egor Pugin in pro.cxx
тем более открывай
источник

VF

Vlad Faust in pro.cxx
источник

АР

Андрей Руссков... in pro.cxx
можно использовать нормальную стдлибу
источник

ПК

Побитый Кирпич... in pro.cxx
Egor Pugin
тем более открывай
Баг уже открыт и поправлен, но из-за слома ABI не смержен
источник

VF

Vlad Faust in pro.cxx
Я прошу помощи с work-around'ом в текущих условиях
источник