Ticket #2689 (closed Bugs: fixed)
Unordered containers: cache_begin not compatible with auto_unlink
|Reported by:||andysem||Owned by:||igaztanaga|
|Keywords:||unordered cache_begin auto_unlink||Cc:|
It looks like using cache_begin< true > option with unordered containers with link_mode< auto_unlink > can lead to subtle crashes in run time. Supposedly, the problem appears when the leading node of the container (the one that is pointed to by begin()) is deleted without explicitly erasing the element from the container. In that case begin() returns an iterator to a non-existing element.
This issue is not highlighted in the docs or checked in the code. It would be great if the container checked this options combination and did not compile in the first place.