[libc++] Const qualify __gnu_cxx::hash_map<>::const_iterator::pointer type.
Differential Revision: http://llvm-reviews.chandlerc.com/D2811 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202749 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
53c0e72d5c
commit
be8a99ad0f
@ -430,9 +430,9 @@ public:
|
|||||||
typedef const value_type& reference;
|
typedef const value_type& reference;
|
||||||
typedef typename __pointer_traits::template
|
typedef typename __pointer_traits::template
|
||||||
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
||||||
rebind<value_type>
|
rebind<const value_type>
|
||||||
#else
|
#else
|
||||||
rebind<value_type>::other
|
rebind<const value_type>::other
|
||||||
#endif
|
#endif
|
||||||
pointer;
|
pointer;
|
||||||
|
|
||||||
|
18
test/extensions/hash_map/const_iterator.fail.cpp
Normal file
18
test/extensions/hash_map/const_iterator.fail.cpp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||||
|
// Source Licenses. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include <ext/hash_map>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
__gnu_cxx::hash_map<int, int> m;
|
||||||
|
m[1] = 1;
|
||||||
|
const __gnu_cxx::hash_map<int, int> &cm = m;
|
||||||
|
cm.find(1)->second = 2; // error
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user