public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
@ 2011-11-15 16:33 pluto at agmk dot net
  2011-11-15 16:38 ` [Bug libstdc++/51142] " redi at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: pluto at agmk dot net @ 2011-11-15 16:33 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

             Bug #: 51142
           Summary: [C++0x] map::erase(key) doesn't compile with
                    -D_GLIBCXX_DEBUG.
    Classification: Unclassified
           Product: gcc
           Version: 4.6.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: pluto@agmk.net


Created attachment 25828
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25828
testcase

$ LANG=C make
g++ -Wall -std=c++0x t.cpp -c --save-temps -D_GLIBCXX_DEBUG
In file included from /usr/include/c++/4.6.2/debug/map:34:0,
                 from /usr/include/c++/4.6.2/map:66,
                 from t.cpp:2:
/usr/include/c++/4.6.2/debug/map.h: In member function 'std::__debug::map<_Key,
_Tp, _Compare, _Allocator>::size_type std::__debug::map<_Key, _Tp, _Compare,
_Allocator>::erase(const key_type&) [with _Key = boost::variant<bool>, _Tp =
unsigned int, _Compare = std::less<boost::variant<bool> >, _Allocator =
std::allocator<std::pair<const boost::variant<bool>, unsigned int> >,
std::__debug::map<_Key, _Tp, _Compare, _Allocator>::size_type = long unsigned
int, std::__debug::map<_Key, _Tp, _Compare, _Allocator>::key_type =
boost::variant<bool>]':
t.cpp:10:15:   instantiated from here
/usr/include/c++/4.6.2/debug/map.h:295:6: error: call of overloaded
'erase(std::__debug::map<boost::variant<bool>, unsigned int>::_Base_iterator&)'
is ambiguous
/usr/include/c++/4.6.2/debug/map.h:295:6: note: candidates are:
/usr/include/c++/4.6.2/bits/stl_map.h:613:7: note: std::__cxx1998::map<_Key,
_Tp, _Compare, _Alloc>::iterator std::__cxx1998::map<_Key, _Tp, _Compare,
_Alloc>::erase(std::__cxx1998::map<_Key, _Tp, _Compare,
_Alloc>::const_iterator) [with _Key = boost::variant<bool>, _Tp = unsigned int,
_Compare = std::less<boost::variant<bool> >, _Alloc =
std::allocator<std::pair<const boost::variant<bool>, unsigned int> >,
std::__cxx1998::map<_Key, _Tp, _Compare, _Alloc>::iterator =
std::_Rb_tree_iterator<std::pair<const boost::variant<bool>, unsigned int> >,
std::__cxx1998::map<_Key, _Tp, _Compare, _Alloc>::const_iterator =
std::_Rb_tree_const_iterator<std::pair<const boost::variant<bool>, unsigned
int> >]
/usr/include/c++/4.6.2/bits/stl_map.h:643:7: note: std::__cxx1998::map<_Key,
_Tp, _Compare, _Alloc>::size_type std::__cxx1998::map<_Key, _Tp, _Compare,
_Alloc>::erase(const key_type&) [with _Key = boost::variant<bool>, _Tp =
unsigned int, _Compare = std::less<boost::variant<bool> >, _Alloc =
std::allocator<std::pair<const boost::variant<bool>, unsigned int> >,
std::__cxx1998::map<_Key, _Tp, _Compare, _Alloc>::size_type = long unsigned
int, std::__cxx1998::map<_Key, _Tp, _Compare, _Alloc>::key_type =
boost::variant<bool>]
make: *** [all] Error 1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libstdc++/51142] [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
  2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
@ 2011-11-15 16:38 ` redi at gcc dot gnu.org
  2011-11-15 17:02 ` redi at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2011-11-15 16:38 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011-11-15
     Ever Confirmed|0                           |1

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-11-15 16:26:15 UTC ---
due to the change in signature from erase(iterator) to erase(const_iterator)

easily fixed by using a _Base_const_iterator in
__gnu_debug::map::erase(key_type)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libstdc++/51142] [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
  2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
  2011-11-15 16:38 ` [Bug libstdc++/51142] " redi at gcc dot gnu.org
@ 2011-11-15 17:02 ` redi at gcc dot gnu.org
  2011-11-15 17:05 ` paolo.carlini at oracle dot com
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2011-11-15 17:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-11-15 16:36:30 UTC ---
reduced:

#include <debug/map>

struct X { X(...); };
bool operator<(X,X);

typedef __gnu_debug::map< X, unsigned > M;

int main()
{
    M m;
    m.erase( X() );
}


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libstdc++/51142] [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
  2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
  2011-11-15 16:38 ` [Bug libstdc++/51142] " redi at gcc dot gnu.org
  2011-11-15 17:02 ` redi at gcc dot gnu.org
@ 2011-11-15 17:05 ` paolo.carlini at oracle dot com
  2011-11-15 17:35 ` redi at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-11-15 17:05 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |paolo.carlini at oracle dot
                   |                            |com

--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-11-15 16:42:16 UTC ---
Shouldn't we just implement LWG 2059? Very simple, by the way.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libstdc++/51142] [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
  2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
                   ` (2 preceding siblings ...)
  2011-11-15 17:05 ` paolo.carlini at oracle dot com
@ 2011-11-15 17:35 ` redi at gcc dot gnu.org
  2011-11-15 17:40 ` paolo.carlini at oracle dot com
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2011-11-15 17:35 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-11-15 16:59:32 UTC ---
oh yeah, I forgot about that!


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libstdc++/51142] [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
  2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
                   ` (3 preceding siblings ...)
  2011-11-15 17:35 ` redi at gcc dot gnu.org
@ 2011-11-15 17:40 ` paolo.carlini at oracle dot com
  2011-11-16  0:37 ` paolo at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-11-15 17:40 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|paolo.carlini at oracle dot |
                   |com                         |
         AssignedTo|unassigned at gcc dot       |paolo.carlini at oracle dot
                   |gnu.org                     |com


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libstdc++/51142] [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
  2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
                   ` (4 preceding siblings ...)
  2011-11-15 17:40 ` paolo.carlini at oracle dot com
@ 2011-11-16  0:37 ` paolo at gcc dot gnu.org
  2011-11-16 17:30 ` pluto at agmk dot net
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: paolo at gcc dot gnu.org @ 2011-11-16  0:37 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

--- Comment #5 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2011-11-15 23:28:54 UTC ---
Author: paolo
Date: Tue Nov 15 23:28:49 2011
New Revision: 181394

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181394
Log:
2011-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

    PR libstdc++/51142
    * include/debug/unordered_map (unordered_map<>::erase(iterator),
    unordered_multimap<>::erase(iterator)): Add, consistently with
    LWG 2059.
    * include/debug/unordered_set (unordered_set<>::erase(iterator),
    unordered_multiset<>::erase(iterator)): Likewise.
    * include/debug/map.h (map<>::erase(iterator)): Likewise.
    * include/debug/multimap.h (multimap<>::erase(iterator)): Likewise.
    * include/profile/map.h (map<>::erase(iterator)): Likewise.
    * include/profile/multimap.h (multimap<>::erase(iterator)): Likewise.
    * include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise.
    * include/bits/stl_map.h (map<>::erase(iterator)): Likewise.
    * include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise.
    * include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise.
    * testsuite/23_containers/unordered_map/erase/51142.cc: New.
    * testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise.
    * testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise.
    * testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise.
    * testsuite/23_containers/unordered_set/erase/51142.cc: Likewise.
    * testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise.
    * testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise.
    * testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise.

Added:
    trunk/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/51142.cc
   
trunk/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/51142.cc
    trunk/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/
   
trunk/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/51142.cc
    trunk/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/
    trunk/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/51142.cc
    trunk/libstdc++-v3/testsuite/23_containers/unordered_map/erase/51142.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51142.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/51142.cc
    trunk/libstdc++-v3/testsuite/23_containers/unordered_set/erase/51142.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/hashtable.h
    trunk/libstdc++-v3/include/bits/stl_map.h
    trunk/libstdc++-v3/include/bits/stl_multimap.h
    trunk/libstdc++-v3/include/bits/stl_tree.h
    trunk/libstdc++-v3/include/debug/map.h
    trunk/libstdc++-v3/include/debug/multimap.h
    trunk/libstdc++-v3/include/debug/unordered_map
    trunk/libstdc++-v3/include/debug/unordered_set
    trunk/libstdc++-v3/include/profile/map.h
    trunk/libstdc++-v3/include/profile/multimap.h


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libstdc++/51142] [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
  2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
                   ` (5 preceding siblings ...)
  2011-11-16  0:37 ` paolo at gcc dot gnu.org
@ 2011-11-16 17:30 ` pluto at agmk dot net
  2011-11-16 17:55 ` paolo.carlini at oracle dot com
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pluto at agmk dot net @ 2011-11-16 17:30 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

--- Comment #6 from Pawel Sikora <pluto at agmk dot net> 2011-11-16 17:19:51 UTC ---
any plans to 4.6 backport?


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libstdc++/51142] [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
  2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
                   ` (6 preceding siblings ...)
  2011-11-16 17:30 ` pluto at agmk dot net
@ 2011-11-16 17:55 ` paolo.carlini at oracle dot com
  2011-11-16 23:36 ` paolo at gcc dot gnu.org
  2011-11-17  0:50 ` paolo.carlini at oracle dot com
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-11-16 17:55 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

--- Comment #7 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-11-16 17:30:39 UTC ---
http://gcc.gnu.org/ml/libstdc++/2011-11/msg00157.html


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libstdc++/51142] [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
  2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
                   ` (7 preceding siblings ...)
  2011-11-16 17:55 ` paolo.carlini at oracle dot com
@ 2011-11-16 23:36 ` paolo at gcc dot gnu.org
  2011-11-17  0:50 ` paolo.carlini at oracle dot com
  9 siblings, 0 replies; 11+ messages in thread
From: paolo at gcc dot gnu.org @ 2011-11-16 23:36 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

--- Comment #8 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2011-11-16 23:11:32 UTC ---
Author: paolo
Date: Wed Nov 16 23:11:26 2011
New Revision: 181427

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181427
Log:
2011-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

    PR libstdc++/51142
    * include/debug/unordered_map (unordered_map<>::erase(iterator),
    unordered_multimap<>::erase(iterator)): Add, consistently with
    LWG 2059.
    * include/debug/unordered_set (unordered_set<>::erase(iterator),
    unordered_multiset<>::erase(iterator)): Likewise.
    * include/debug/map.h (map<>::erase(iterator)): Likewise.
    * include/debug/multimap.h (multimap<>::erase(iterator)): Likewise.
    * include/profile/map.h (map<>::erase(iterator)): Likewise.
    * include/profile/multimap.h (multimap<>::erase(iterator)): Likewise.
    * include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise.
    * include/bits/stl_map.h (map<>::erase(iterator)): Likewise.
    * include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise.
    * include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise.
    * testsuite/23_containers/unordered_map/erase/51142.cc: New.
    * testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise.
    * testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise.
    * testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise.
    * testsuite/23_containers/unordered_set/erase/51142.cc: Likewise.
    * testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise.
    * testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise.
    * testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise.

Added:
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/51142.cc
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/51142.cc
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/51142.cc
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/51142.cc
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/unordered_map/erase/51142.cc
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51142.cc
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/51142.cc
   
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/unordered_set/erase/51142.cc
Modified:
    branches/gcc-4_6-branch/libstdc++-v3/ChangeLog
    branches/gcc-4_6-branch/libstdc++-v3/include/bits/hashtable.h
    branches/gcc-4_6-branch/libstdc++-v3/include/bits/stl_map.h
    branches/gcc-4_6-branch/libstdc++-v3/include/bits/stl_multimap.h
    branches/gcc-4_6-branch/libstdc++-v3/include/bits/stl_tree.h
    branches/gcc-4_6-branch/libstdc++-v3/include/debug/map.h
    branches/gcc-4_6-branch/libstdc++-v3/include/debug/multimap.h
    branches/gcc-4_6-branch/libstdc++-v3/include/debug/unordered_map
    branches/gcc-4_6-branch/libstdc++-v3/include/debug/unordered_set
    branches/gcc-4_6-branch/libstdc++-v3/include/profile/map.h
    branches/gcc-4_6-branch/libstdc++-v3/include/profile/multimap.h


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug libstdc++/51142] [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.
  2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
                   ` (8 preceding siblings ...)
  2011-11-16 23:36 ` paolo at gcc dot gnu.org
@ 2011-11-17  0:50 ` paolo.carlini at oracle dot com
  9 siblings, 0 replies; 11+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-11-17  0:50 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51142

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.6.3

--- Comment #9 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-11-16 23:13:06 UTC ---
Fixed 4.6.3 and mainline.


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2011-11-16 23:13 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-15 16:33 [Bug libstdc++/51142] New: [C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG pluto at agmk dot net
2011-11-15 16:38 ` [Bug libstdc++/51142] " redi at gcc dot gnu.org
2011-11-15 17:02 ` redi at gcc dot gnu.org
2011-11-15 17:05 ` paolo.carlini at oracle dot com
2011-11-15 17:35 ` redi at gcc dot gnu.org
2011-11-15 17:40 ` paolo.carlini at oracle dot com
2011-11-16  0:37 ` paolo at gcc dot gnu.org
2011-11-16 17:30 ` pluto at agmk dot net
2011-11-16 17:55 ` paolo.carlini at oracle dot com
2011-11-16 23:36 ` paolo at gcc dot gnu.org
2011-11-17  0:50 ` paolo.carlini at oracle dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).