facebook / facebook/folly

complainUnlessNothrowMoveAndDestroy template deprecated warning when compiling on ubuntu 21.10 with clang++-13

Open
#1,674 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
C++
Stars
30.5k
Forks
5.9k
PR merge metrics
No merged PRs in 30d

Description

I am seeing below warnings when trying to use the proxygen library in my application, i am not sure what are the repercussions of ignoring below warning. Please advise.

proxygen/_build/deps/include/folly/container/detail/F14Policy.h:1231:5: warning: 'complainUnlessNothrowMoveAndDestroy' is deprecated: mark {key_type,mapped_type} {move constructor,destructor} noexcept, or use F14Node* if they aren't [-Wdeprecated-declarations]
complainUnlessNothrowMoveAndDestroy>();
^
proxygen/_build/deps/include/folly/container/detail/F14Policy.h:1356:7: note: in instantiation of member function 'folly::f14::detail::VectorContainerPolicy>::transfer' requested here
transfer(a, std::addressof(before[0]), std::addressof(after[0]), size);
^
proxygen/_build/deps/include/folly/container/detail/F14Table.h:1797:28: note: in instantiation of member function 'folly::f14::detail::VectorContainerPolicy>::beforeRehash' requested here
auto undoState = this->beforeRehash(
^
proxygen/_build/deps/include/folly/container/detail/F14Table.h:1931:5: note: in instantiation of member function 'folly::f14::detail::F14Table>>::rehashImpl' requested here
rehashImpl(size(), cc, ss, cc, ss);
^
proxygen/_build/deps/include/folly/container/detail/F14Table.h:1947:7: note: in instantiation of member function 'folly::f14::detail::F14Table>>::debugModeSpuriousRehash' requested here
debugModeSpuriousRehash();
^
proxygen/_build/deps/include/folly/container/detail/F14Table.h:2008:5: note: in instantiation of member function 'folly::f14::detail::F14Table>>::debugModeBeforeInsert' requested here
debugModeBeforeInsert();
^
proxygen/_build/deps/include/folly/container/F14Map.h:408:29: note: in instantiation of function template specialization 'folly::f14::detail::F14Table>>::tryEmplaceValue, std::tuple>' requested here
return table_.tryEmplaceValue(
^
proxygen/_build/deps/include/quic/state/QuicStreamManager.h:137:16: note: in instantiation of function template specialization 'folly::f14::detail::F14BasicMap>>::emplace, std::tuple>' requested here
streams_.emplace(
^
proxygen/_build/deps/include/folly/container/detail/F14Policy.h:1227:7: note: 'complainUnlessNothrowMoveAndDestroy' has been explicitly marked deprecated here
complainUnlessNothrowMoveAndDestroy() {}
^
proxygen/_build/deps/include/folly/container/detail/F14Policy.h:1231:5: warning: 'complainUnlessNothrowMoveAndDestroy' is deprecated: mark {key_type,mapped_type} {move constructor,destructor} noexcept, or use F14Node* if they aren't [-Wdeprecated-declarations]
complainUnlessNothrowMoveAndDestroy>();
^
proxygen/_build/deps/include/folly/container/detail/F14Policy.h:1224:5: note: 'complainUnlessNothrowMoveAndDestroy' has been explicitly marked deprecated here
[[deprecated(
^

Contributor guide

Open the contributing guide

Research direction

Start with folly/container/detail/F14Policy.h and trace the warning through F14Table.h, F14Map.h, and quic/state/QuicStreamManager.h, as shown in the compiler output. Determine whether the deprecated warning indicates a required change or an expected condition; the issue does not define a concrete completion criterion.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.