1 In file included from fields_illegal_tracing.cpp:5: 2 ./fields_illegal_tracing.h:32:1: warning: [blink-gc] Class 'PartObject' contains invalid fields. 3 class PartObject { 4 ^ 5 ./fields_illegal_tracing.h:37:5: note: [blink-gc] OwnPtr field 'm_obj1' to a GC managed class declared here: 6 OwnPtr<HeapObject> m_obj1; 7 ^ 8 ./fields_illegal_tracing.h:38:5: note: [blink-gc] RefPtr field 'm_obj2' to a GC managed class declared here: 9 RefPtr<HeapObject> m_obj2; 10 ^ 11 ./fields_illegal_tracing.h:40:5: note: [blink-gc] std::unique_ptr field 'm_obj4' to a GC managed class declared here: 12 std::unique_ptr<HeapObject> m_obj4; 13 ^ 14 ./fields_illegal_tracing.h:43:1: warning: [blink-gc] Class 'HeapObject' contains invalid fields. 15 class HeapObject : public GarbageCollectedFinalized<HeapObject> { 16 ^ 17 ./fields_illegal_tracing.h:48:5: note: [blink-gc] OwnPtr field 'm_obj1' to a GC managed class declared here: 18 OwnPtr<HeapObject> m_obj1; 19 ^ 20 ./fields_illegal_tracing.h:49:5: note: [blink-gc] RefPtr field 'm_obj2' to a GC managed class declared here: 21 RefPtr<HeapObject> m_obj2; 22 ^ 23 ./fields_illegal_tracing.h:51:5: note: [blink-gc] std::unique_ptr field 'm_obj4' to a GC managed class declared here: 24 std::unique_ptr<HeapObject> m_obj4; 25 ^ 26 fields_illegal_tracing.cpp:9:1: warning: [blink-gc] Class 'PartObject' has untraced or not traceable fields. 27 void PartObject::trace(Visitor* visitor) { 28 ^ 29 ./fields_illegal_tracing.h:37:5: note: [blink-gc] Untraceable field 'm_obj1' declared here: 30 OwnPtr<HeapObject> m_obj1; 31 ^ 32 ./fields_illegal_tracing.h:38:5: note: [blink-gc] Untraceable field 'm_obj2' declared here: 33 RefPtr<HeapObject> m_obj2; 34 ^ 35 ./fields_illegal_tracing.h:40:5: note: [blink-gc] Untraceable field 'm_obj4' declared here: 36 std::unique_ptr<HeapObject> m_obj4; 37 ^ 38 fields_illegal_tracing.cpp:16:1: warning: [blink-gc] Class 'HeapObject' has untraced or not traceable fields. 39 void HeapObject::trace(Visitor* visitor) { 40 ^ 41 ./fields_illegal_tracing.h:48:5: note: [blink-gc] Untraceable field 'm_obj1' declared here: 42 OwnPtr<HeapObject> m_obj1; 43 ^ 44 ./fields_illegal_tracing.h:49:5: note: [blink-gc] Untraceable field 'm_obj2' declared here: 45 RefPtr<HeapObject> m_obj2; 46 ^ 47 ./fields_illegal_tracing.h:51:5: note: [blink-gc] Untraceable field 'm_obj4' declared here: 48 std::unique_ptr<HeapObject> m_obj4; 49 ^ 50 4 warnings generated. 51