New issue
Advanced search Search tips

Issue 783060 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

std::is_trivially_destructible behaves differently across platforms.

Project Member Reported by slangley@chromium.org, Nov 9 2017

Issue description

class DestructorDeleted final {
 private:
  ~DestructorDeleted() = delete;
};

on android & win7 builds returns true.
on others, returns false.

This means we need to keep WTF::IsTriviallyDestructible for now as it is consistent across all builds.

From C++14 on wards I think this should be true, not sure why things are different now tho.
 

Comment 1 by yutak@chromium.org, Nov 9 2017

Well, I think std::is_trivially_destructible<DestructorDeleted> should return
false, not true, because the class is not destructible in the first place.

http://en.cppreference.com/w/cpp/types/is_destructible

C++14 spec says the construct containing access control violation is ill-formed.
(11:5)
Owner: ----
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fcbc2e838d13e4b0d859ddb18784d093898dff99

commit fcbc2e838d13e4b0d859ddb18784d093898dff99
Author: Jeremy Roman <jbroman@chromium.org>
Date: Thu Nov 22 05:24:13 2018

Replace WTF::IsTriviallyDestructible with std::is_trivially_destructible.

Bug: 783060
Change-Id: I02ab0eb7aa0f540a68be1ddfc34c1b4fc16de8e2
Reviewed-on: https://chromium-review.googlesource.com/c/1347060
Commit-Queue: Yuta Kitamura <yutak@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yuta Kitamura <yutak@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610308}
[modify] https://crrev.com/fcbc2e838d13e4b0d859ddb18784d093898dff99/third_party/blink/renderer/platform/heap/finalizer_traits.h
[modify] https://crrev.com/fcbc2e838d13e4b0d859ddb18784d093898dff99/third_party/blink/renderer/platform/heap/heap_allocator.h
[modify] https://crrev.com/fcbc2e838d13e4b0d859ddb18784d093898dff99/third_party/blink/renderer/platform/wtf/hash_table.h
[modify] https://crrev.com/fcbc2e838d13e4b0d859ddb18784d093898dff99/third_party/blink/renderer/platform/wtf/list_hash_set.h
[modify] https://crrev.com/fcbc2e838d13e4b0d859ddb18784d093898dff99/third_party/blink/renderer/platform/wtf/type_traits.h
[modify] https://crrev.com/fcbc2e838d13e4b0d859ddb18784d093898dff99/third_party/blink/renderer/platform/wtf/type_traits_test.cc
[modify] https://crrev.com/fcbc2e838d13e4b0d859ddb18784d093898dff99/third_party/blink/renderer/platform/wtf/vector_traits.h

Sign in to add a comment