chromium/tools/clang/raw_ptr_plugin/tests/bad_raw_ref_cast.txt

bad_raw_ref_cast.cpp:38:31: error: [chromium-style] casting 'raw_ref<int> *' to 'void * is not allowed.
  (void)static_cast<void*>(&p0);
                              ^
bad_raw_ref_cast.cpp:38:31: note: [chromium-style] 'raw_ref<int> *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:39:31: error: [chromium-style] casting 'RawRefWrapper *' to 'void * is not allowed.
  (void)static_cast<void*>(&p1);
                              ^
bad_raw_ref_cast.cpp:39:31: note: [chromium-style] 'RawRefWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:40:31: error: [chromium-style] casting 'RawRefWrapperWrapper *' to 'void * is not allowed.
  (void)static_cast<void*>(&p2);
                              ^
bad_raw_ref_cast.cpp:40:31: note: [chromium-style] 'RawRefWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:41:31: error: [chromium-style] casting 'RawRefWrapperWrapperWrapper *' to 'void * is not allowed.
  (void)static_cast<void*>(&p3);
                              ^
bad_raw_ref_cast.cpp:41:31: note: [chromium-style] 'RawRefWrapperWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:19:3: note: [chromium-style] 'RawRefWrapperWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapperWrapper& ref_;
  ^
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:42:31: error: [chromium-style] casting 'RawRefWrapper (*)[10]' to 'void * is not allowed.
  (void)static_cast<void*>(&p4);
                              ^
bad_raw_ref_cast.cpp:42:31: note: [chromium-style] 'RawRefWrapper (*)[10]' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:43:31: error: [chromium-style] casting 'RawRefWrapperSub *' to 'void * is not allowed.
  (void)static_cast<void*>(&p5);
                              ^
bad_raw_ref_cast.cpp:43:31: note: [chromium-style] 'RawRefWrapperSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:22:27: note: [chromium-style] 'RawRefWrapperSub' manages BackupRefPtr or its container here.
struct RawRefWrapperSub : RawRefWrapper {};
                          ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:44:31: error: [chromium-style] casting 'RawRefWrapperVirtualSub *' to 'void * is not allowed.
  (void)static_cast<void*>(&p6);
                              ^
bad_raw_ref_cast.cpp:44:31: note: [chromium-style] 'RawRefWrapperVirtualSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:23:34: note: [chromium-style] 'RawRefWrapperVirtualSub' manages BackupRefPtr or its container here.
struct RawRefWrapperVirtualSub : virtual RawRefWrapper {};
                                 ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:47:17: error: [chromium-style] casting 'raw_ref<int> *' to 'void * is not allowed.
  (void)(void*)&p0;
                ^
bad_raw_ref_cast.cpp:47:17: note: [chromium-style] 'raw_ref<int> *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:48:17: error: [chromium-style] casting 'RawRefWrapper *' to 'void * is not allowed.
  (void)(void*)&p1;
                ^
bad_raw_ref_cast.cpp:48:17: note: [chromium-style] 'RawRefWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:49:17: error: [chromium-style] casting 'RawRefWrapperWrapper *' to 'void * is not allowed.
  (void)(void*)&p2;
                ^
bad_raw_ref_cast.cpp:49:17: note: [chromium-style] 'RawRefWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:50:17: error: [chromium-style] casting 'RawRefWrapperWrapperWrapper *' to 'void * is not allowed.
  (void)(void*)&p3;
                ^
bad_raw_ref_cast.cpp:50:17: note: [chromium-style] 'RawRefWrapperWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:19:3: note: [chromium-style] 'RawRefWrapperWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapperWrapper& ref_;
  ^
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:51:17: error: [chromium-style] casting 'RawRefWrapper (*)[10]' to 'void * is not allowed.
  (void)(void*)&p4;
                ^
bad_raw_ref_cast.cpp:51:17: note: [chromium-style] 'RawRefWrapper (*)[10]' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:52:17: error: [chromium-style] casting 'RawRefWrapperSub *' to 'void * is not allowed.
  (void)(void*)&p5;
                ^
bad_raw_ref_cast.cpp:52:17: note: [chromium-style] 'RawRefWrapperSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:22:27: note: [chromium-style] 'RawRefWrapperSub' manages BackupRefPtr or its container here.
struct RawRefWrapperSub : RawRefWrapper {};
                          ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:53:17: error: [chromium-style] casting 'RawRefWrapperVirtualSub *' to 'void * is not allowed.
  (void)(void*)&p6;
                ^
bad_raw_ref_cast.cpp:53:17: note: [chromium-style] 'RawRefWrapperVirtualSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:23:34: note: [chromium-style] 'RawRefWrapperVirtualSub' manages BackupRefPtr or its container here.
struct RawRefWrapperVirtualSub : virtual RawRefWrapper {};
                                 ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:56:36: error: [chromium-style] casting 'raw_ref<int> *' to 'void * is not allowed.
  (void)reinterpret_cast<void*>(&p0);
                                   ^
bad_raw_ref_cast.cpp:56:36: note: [chromium-style] 'raw_ref<int> *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:57:36: error: [chromium-style] casting 'RawRefWrapper *' to 'void * is not allowed.
  (void)reinterpret_cast<void*>(&p1);
                                   ^
bad_raw_ref_cast.cpp:57:36: note: [chromium-style] 'RawRefWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:58:36: error: [chromium-style] casting 'RawRefWrapperWrapper *' to 'void * is not allowed.
  (void)reinterpret_cast<void*>(&p2);
                                   ^
bad_raw_ref_cast.cpp:58:36: note: [chromium-style] 'RawRefWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:59:36: error: [chromium-style] casting 'RawRefWrapperWrapperWrapper *' to 'void * is not allowed.
  (void)reinterpret_cast<void*>(&p3);
                                   ^
bad_raw_ref_cast.cpp:59:36: note: [chromium-style] 'RawRefWrapperWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:19:3: note: [chromium-style] 'RawRefWrapperWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapperWrapper& ref_;
  ^
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:60:36: error: [chromium-style] casting 'RawRefWrapper (*)[10]' to 'void * is not allowed.
  (void)reinterpret_cast<void*>(&p4);
                                   ^
bad_raw_ref_cast.cpp:60:36: note: [chromium-style] 'RawRefWrapper (*)[10]' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:61:36: error: [chromium-style] casting 'RawRefWrapperSub *' to 'void * is not allowed.
  (void)reinterpret_cast<void*>(&p5);
                                   ^
bad_raw_ref_cast.cpp:61:36: note: [chromium-style] 'RawRefWrapperSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:22:27: note: [chromium-style] 'RawRefWrapperSub' manages BackupRefPtr or its container here.
struct RawRefWrapperSub : RawRefWrapper {};
                          ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:62:36: error: [chromium-style] casting 'RawRefWrapperVirtualSub *' to 'void * is not allowed.
  (void)reinterpret_cast<void*>(&p6);
                                   ^
bad_raw_ref_cast.cpp:62:36: note: [chromium-style] 'RawRefWrapperVirtualSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:23:34: note: [chromium-style] 'RawRefWrapperVirtualSub' manages BackupRefPtr or its container here.
struct RawRefWrapperVirtualSub : virtual RawRefWrapper {};
                                 ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:65:38: error: [chromium-style] casting 'raw_ref<int> *' to 'void * is not allowed.
  (void)__builtin_bit_cast(void*, &p0);
                                     ^
bad_raw_ref_cast.cpp:65:38: note: [chromium-style] 'raw_ref<int> *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:66:38: error: [chromium-style] casting 'RawRefWrapper *' to 'void * is not allowed.
  (void)__builtin_bit_cast(void*, &p1);
                                     ^
bad_raw_ref_cast.cpp:66:38: note: [chromium-style] 'RawRefWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:67:38: error: [chromium-style] casting 'RawRefWrapperWrapper *' to 'void * is not allowed.
  (void)__builtin_bit_cast(void*, &p2);
                                     ^
bad_raw_ref_cast.cpp:67:38: note: [chromium-style] 'RawRefWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:68:38: error: [chromium-style] casting 'RawRefWrapperWrapperWrapper *' to 'void * is not allowed.
  (void)__builtin_bit_cast(void*, &p3);
                                     ^
bad_raw_ref_cast.cpp:68:38: note: [chromium-style] 'RawRefWrapperWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:19:3: note: [chromium-style] 'RawRefWrapperWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapperWrapper& ref_;
  ^
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:69:38: error: [chromium-style] casting 'RawRefWrapper (*)[10]' to 'void * is not allowed.
  (void)__builtin_bit_cast(void*, &p4);
                                     ^
bad_raw_ref_cast.cpp:69:38: note: [chromium-style] 'RawRefWrapper (*)[10]' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:70:38: error: [chromium-style] casting 'RawRefWrapperSub *' to 'void * is not allowed.
  (void)__builtin_bit_cast(void*, &p5);
                                     ^
bad_raw_ref_cast.cpp:70:38: note: [chromium-style] 'RawRefWrapperSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:22:27: note: [chromium-style] 'RawRefWrapperSub' manages BackupRefPtr or its container here.
struct RawRefWrapperSub : RawRefWrapper {};
                          ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:71:38: error: [chromium-style] casting 'RawRefWrapperVirtualSub *' to 'void * is not allowed.
  (void)__builtin_bit_cast(void*, &p6);
                                     ^
bad_raw_ref_cast.cpp:71:38: note: [chromium-style] 'RawRefWrapperVirtualSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:23:34: note: [chromium-style] 'RawRefWrapperVirtualSub' manages BackupRefPtr or its container here.
struct RawRefWrapperVirtualSub : virtual RawRefWrapper {};
                                 ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:74:11: error: [chromium-style] casting 'raw_ref<int> *' to 'void * is not allowed.
  MyFunc(&p0);
          ^
bad_raw_ref_cast.cpp:74:11: note: [chromium-style] 'raw_ref<int> *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:75:11: error: [chromium-style] casting 'RawRefWrapper *' to 'void * is not allowed.
  MyFunc(&p1);
          ^
bad_raw_ref_cast.cpp:75:11: note: [chromium-style] 'RawRefWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:76:11: error: [chromium-style] casting 'RawRefWrapperWrapper *' to 'void * is not allowed.
  MyFunc(&p2);
          ^
bad_raw_ref_cast.cpp:76:11: note: [chromium-style] 'RawRefWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:77:11: error: [chromium-style] casting 'RawRefWrapperWrapperWrapper *' to 'void * is not allowed.
  MyFunc(&p3);
          ^
bad_raw_ref_cast.cpp:77:11: note: [chromium-style] 'RawRefWrapperWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:19:3: note: [chromium-style] 'RawRefWrapperWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapperWrapper& ref_;
  ^
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:78:11: error: [chromium-style] casting 'RawRefWrapper (*)[10]' to 'void * is not allowed.
  MyFunc(&p4);
          ^
bad_raw_ref_cast.cpp:78:11: note: [chromium-style] 'RawRefWrapper (*)[10]' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:79:11: error: [chromium-style] casting 'RawRefWrapperSub *' to 'void * is not allowed.
  MyFunc(&p5);
          ^
bad_raw_ref_cast.cpp:79:11: note: [chromium-style] 'RawRefWrapperSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:22:27: note: [chromium-style] 'RawRefWrapperSub' manages BackupRefPtr or its container here.
struct RawRefWrapperSub : RawRefWrapper {};
                          ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:80:11: error: [chromium-style] casting 'RawRefWrapperVirtualSub *' to 'void * is not allowed.
  MyFunc(&p6);
          ^
bad_raw_ref_cast.cpp:80:11: note: [chromium-style] 'RawRefWrapperVirtualSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:23:34: note: [chromium-style] 'RawRefWrapperVirtualSub' manages BackupRefPtr or its container here.
struct RawRefWrapperVirtualSub : virtual RawRefWrapper {};
                                 ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:87:37: error: [chromium-style] casting 'void *' to 'raw_ref<int> * is not allowed.
  (void)static_cast<raw_ref<int>*>(p);
                                    ^
bad_raw_ref_cast.cpp:87:37: note: [chromium-style] 'raw_ref<int> *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:88:38: error: [chromium-style] casting 'void *' to 'RawRefWrapper * is not allowed.
  (void)static_cast<RawRefWrapper*>(p);
                                     ^
bad_raw_ref_cast.cpp:88:38: note: [chromium-style] 'RawRefWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:89:45: error: [chromium-style] casting 'void *' to 'RawRefWrapperWrapper * is not allowed.
  (void)static_cast<RawRefWrapperWrapper*>(p);
                                            ^
bad_raw_ref_cast.cpp:89:45: note: [chromium-style] 'RawRefWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:90:52: error: [chromium-style] casting 'void *' to 'RawRefWrapperWrapperWrapper * is not allowed.
  (void)static_cast<RawRefWrapperWrapperWrapper*>(p);
                                                   ^
bad_raw_ref_cast.cpp:90:52: note: [chromium-style] 'RawRefWrapperWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:19:3: note: [chromium-style] 'RawRefWrapperWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapperWrapper& ref_;
  ^
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:91:41: error: [chromium-style] casting 'void *' to 'RawRefWrapperSub * is not allowed.
  (void)static_cast<RawRefWrapperSub*>(p);
                                        ^
bad_raw_ref_cast.cpp:91:41: note: [chromium-style] 'RawRefWrapperSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:22:27: note: [chromium-style] 'RawRefWrapperSub' manages BackupRefPtr or its container here.
struct RawRefWrapperSub : RawRefWrapper {};
                          ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:92:48: error: [chromium-style] casting 'void *' to 'RawRefWrapperVirtualSub * is not allowed.
  (void)static_cast<RawRefWrapperVirtualSub*>(p);
                                               ^
bad_raw_ref_cast.cpp:92:48: note: [chromium-style] 'RawRefWrapperVirtualSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:23:34: note: [chromium-style] 'RawRefWrapperVirtualSub' manages BackupRefPtr or its container here.
struct RawRefWrapperVirtualSub : virtual RawRefWrapper {};
                                 ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:95:24: error: [chromium-style] casting 'void *' to 'raw_ptr<int> * is not allowed.
  (void)(raw_ptr<int>*)p;
                       ^
bad_raw_ref_cast.cpp:95:24: note: [chromium-style] 'raw_ptr<int> *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:96:25: error: [chromium-style] casting 'void *' to 'RawRefWrapper * is not allowed.
  (void)(RawRefWrapper*)p;
                        ^
bad_raw_ref_cast.cpp:96:25: note: [chromium-style] 'RawRefWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:97:32: error: [chromium-style] casting 'void *' to 'RawRefWrapperWrapper * is not allowed.
  (void)(RawRefWrapperWrapper*)p;
                               ^
bad_raw_ref_cast.cpp:97:32: note: [chromium-style] 'RawRefWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:98:39: error: [chromium-style] casting 'void *' to 'RawRefWrapperWrapperWrapper * is not allowed.
  (void)(RawRefWrapperWrapperWrapper*)p;
                                      ^
bad_raw_ref_cast.cpp:98:39: note: [chromium-style] 'RawRefWrapperWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:19:3: note: [chromium-style] 'RawRefWrapperWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapperWrapper& ref_;
  ^
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:99:28: error: [chromium-style] casting 'void *' to 'RawRefWrapperSub * is not allowed.
  (void)(RawRefWrapperSub*)p;
                           ^
bad_raw_ref_cast.cpp:99:28: note: [chromium-style] 'RawRefWrapperSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:22:27: note: [chromium-style] 'RawRefWrapperSub' manages BackupRefPtr or its container here.
struct RawRefWrapperSub : RawRefWrapper {};
                          ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:100:35: error: [chromium-style] casting 'void *' to 'RawRefWrapperVirtualSub * is not allowed.
  (void)(RawRefWrapperVirtualSub*)p;
                                  ^
bad_raw_ref_cast.cpp:100:35: note: [chromium-style] 'RawRefWrapperVirtualSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:23:34: note: [chromium-style] 'RawRefWrapperVirtualSub' manages BackupRefPtr or its container here.
struct RawRefWrapperVirtualSub : virtual RawRefWrapper {};
                                 ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:103:42: error: [chromium-style] casting 'void *' to 'raw_ref<int> * is not allowed.
  (void)reinterpret_cast<raw_ref<int>*>(p);
                                         ^
bad_raw_ref_cast.cpp:103:42: note: [chromium-style] 'raw_ref<int> *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:104:43: error: [chromium-style] casting 'void *' to 'RawRefWrapper * is not allowed.
  (void)reinterpret_cast<RawRefWrapper*>(p);
                                          ^
bad_raw_ref_cast.cpp:104:43: note: [chromium-style] 'RawRefWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:105:50: error: [chromium-style] casting 'void *' to 'RawRefWrapperWrapper * is not allowed.
  (void)reinterpret_cast<RawRefWrapperWrapper*>(p);
                                                 ^
bad_raw_ref_cast.cpp:105:50: note: [chromium-style] 'RawRefWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:106:57: error: [chromium-style] casting 'void *' to 'RawRefWrapperWrapperWrapper * is not allowed.
  (void)reinterpret_cast<RawRefWrapperWrapperWrapper*>(p);
                                                        ^
bad_raw_ref_cast.cpp:106:57: note: [chromium-style] 'RawRefWrapperWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:19:3: note: [chromium-style] 'RawRefWrapperWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapperWrapper& ref_;
  ^
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:107:46: error: [chromium-style] casting 'void *' to 'RawRefWrapperSub * is not allowed.
  (void)reinterpret_cast<RawRefWrapperSub*>(p);
                                             ^
bad_raw_ref_cast.cpp:107:46: note: [chromium-style] 'RawRefWrapperSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:22:27: note: [chromium-style] 'RawRefWrapperSub' manages BackupRefPtr or its container here.
struct RawRefWrapperSub : RawRefWrapper {};
                          ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:108:53: error: [chromium-style] casting 'void *' to 'RawRefWrapperVirtualSub * is not allowed.
  (void)reinterpret_cast<RawRefWrapperVirtualSub*>(p);
                                                    ^
bad_raw_ref_cast.cpp:108:53: note: [chromium-style] 'RawRefWrapperVirtualSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:23:34: note: [chromium-style] 'RawRefWrapperVirtualSub' manages BackupRefPtr or its container here.
struct RawRefWrapperVirtualSub : virtual RawRefWrapper {};
                                 ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:111:44: error: [chromium-style] casting 'void *' to 'raw_ref<int> * is not allowed.
  (void)__builtin_bit_cast(raw_ref<int>*, p);
                                           ^
bad_raw_ref_cast.cpp:111:44: note: [chromium-style] 'raw_ref<int> *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:112:45: error: [chromium-style] casting 'void *' to 'RawRefWrapper * is not allowed.
  (void)__builtin_bit_cast(RawRefWrapper*, p);
                                            ^
bad_raw_ref_cast.cpp:112:45: note: [chromium-style] 'RawRefWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:113:52: error: [chromium-style] casting 'void *' to 'RawRefWrapperWrapper * is not allowed.
  (void)__builtin_bit_cast(RawRefWrapperWrapper*, p);
                                                   ^
bad_raw_ref_cast.cpp:113:52: note: [chromium-style] 'RawRefWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:114:59: error: [chromium-style] casting 'void *' to 'RawRefWrapperWrapperWrapper * is not allowed.
  (void)__builtin_bit_cast(RawRefWrapperWrapperWrapper*, p);
                                                          ^
bad_raw_ref_cast.cpp:114:59: note: [chromium-style] 'RawRefWrapperWrapperWrapper *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:19:3: note: [chromium-style] 'RawRefWrapperWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapperWrapper& ref_;
  ^
bad_raw_ref_cast.cpp:12:3: note: [chromium-style] 'RawRefWrapperWrapper' manages BackupRefPtr or its container here.
  RawRefWrapper* ref;
  ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:115:48: error: [chromium-style] casting 'void *' to 'RawRefWrapperSub * is not allowed.
  (void)__builtin_bit_cast(RawRefWrapperSub*, p);
                                               ^
bad_raw_ref_cast.cpp:115:48: note: [chromium-style] 'RawRefWrapperSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:22:27: note: [chromium-style] 'RawRefWrapperSub' manages BackupRefPtr or its container here.
struct RawRefWrapperSub : RawRefWrapper {};
                          ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
bad_raw_ref_cast.cpp:116:55: error: [chromium-style] casting 'void *' to 'RawRefWrapperVirtualSub * is not allowed.
  (void)__builtin_bit_cast(RawRefWrapperVirtualSub*, p);
                                                      ^
bad_raw_ref_cast.cpp:116:55: note: [chromium-style] 'RawRefWrapperVirtualSub *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ref_cast.cpp:23:34: note: [chromium-style] 'RawRefWrapperVirtualSub' manages BackupRefPtr or its container here.
struct RawRefWrapperVirtualSub : virtual RawRefWrapper {};
                                 ^
bad_raw_ref_cast.cpp:8:3: note: [chromium-style] 'RawRefWrapper' manages BackupRefPtr or its container here.
  raw_ref<int> ref;
  ^
59 errors generated.