Here is the patch to extend DR 526 to forward_list and list remove_if and unique. As the adopted pattern is simpler I also applied it to the remove methods.     PR libstdc++/91620     * include/bits/forward_list.tcc (forward_list<>::remove): Collect nodes     to destroy in an intermediate forward_list.     (forward_list<>::remove_if, forward_list<>::unique): Likewise.     * include/bits/list.tcc (list<>::remove, list<>::unique): Likewise.     (list<>::remove_if): Likewise.     * include/debug/forward_list (forward_list<>::_M_erase_after): Remove.     (forward_list<>::erase_after): Adapt.     (forward_list<>::remove, forward_list<>::remove_if): Collect nodes to     destroy in an intermediate forward_list.     (forward_list<>::unique): Likewise.     * include/debug/list (list<>::remove, list<>::unique): Likewise.     (list<>::remove_if): Likewise. Tested under Linux x86_64 normal and debug modes. Ok to commit ? François