Just to keep track of this issue: http://gcc.gnu.org/ml/libstdc++/2005-03/msg00144.html
-- Summary: [4.0/4.1 Regression] iter_swap doesn't work anymore with vector<bool> Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pcarlini at suse dot de CC: caj at cs dot york dot ac dot uk,gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20577