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

bad_raw_ptr_cast_in_the_wild.cpp:18:34: error: [chromium-style] casting 'void *' to 'A * is not allowed.
  return reinterpret_cast<A*>(buf);  // Should error.
                                 ^
bad_raw_ptr_cast_in_the_wild.cpp:18:34: note: [chromium-style] 'A *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ptr_cast_in_the_wild.cpp:14:3: note: [chromium-style] 'A' manages BackupRefPtr or its container here.
  raw_ptr<int> ptr;
  ^
bad_raw_ptr_cast_in_the_wild.cpp:29:34: error: [chromium-style] casting 'ThirdPartyA *' to 'A * is not allowed.
  return reinterpret_cast<A*>(obj);  // Should error.
                                 ^
bad_raw_ptr_cast_in_the_wild.cpp:29:34: note: [chromium-style] 'A *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ptr_cast_in_the_wild.cpp:14:3: note: [chromium-style] 'A' manages BackupRefPtr or its container here.
  raw_ptr<int> ptr;
  ^
bad_raw_ptr_cast_in_the_wild.cpp:36:37: error: [chromium-style] casting 'raw_ptr<int> *' to 'int ** is not allowed.
  return reinterpret_cast<int**>(ptr);  // Should error.
                                    ^
bad_raw_ptr_cast_in_the_wild.cpp:36:37: 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_ptr_cast_in_the_wild.cpp:47:13: error: [chromium-style] casting 'A *' to 'void * is not allowed.
  my_memset(obj_ptr, 0, sizeof(obj_ptr));  // Should error.
            ^
bad_raw_ptr_cast_in_the_wild.cpp:47:13: note: [chromium-style] 'A *' manages BackupRefPtr refcounts; bypassing its C++ interface or treating it as a POD will lead to memory safety errors.
bad_raw_ptr_cast_in_the_wild.cpp:14:3: note: [chromium-style] 'A' manages BackupRefPtr or its container here.
  raw_ptr<int> ptr;
  ^
4 errors generated.