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:42:5: note: [blink-gc] Iterator field 'm_iterator2' to a GC managed collection declared here: 15 HeapVector<Member<HeapObject>>::iterator m_iterator2; 16 ^ 17 ./fields_illegal_tracing.h:43:5: note: [blink-gc] Iterator field 'm_iterator3' to a GC managed collection declared here: 18 HeapHashSet<PartObject>::const_iterator m_iterator3; 19 ^ 20 ./fields_illegal_tracing.h:46:1: warning: [blink-gc] Class 'HeapObject' contains invalid fields. 21 class HeapObject : public GarbageCollectedFinalized<HeapObject> { 22 ^ 23 ./fields_illegal_tracing.h:51:5: note: [blink-gc] OwnPtr field 'm_obj1' to a GC managed class declared here: 24 OwnPtr<HeapObject> m_obj1; 25 ^ 26 ./fields_illegal_tracing.h:52:5: note: [blink-gc] RefPtr field 'm_obj2' to a GC managed class declared here: 27 RefPtr<HeapObject> m_obj2; 28 ^ 29 ./fields_illegal_tracing.h:54:5: note: [blink-gc] std::unique_ptr field 'm_obj4' to a GC managed class declared here: 30 std::unique_ptr<HeapObject> m_obj4; 31 ^ 32 ./fields_illegal_tracing.h:55:5: note: [blink-gc] Iterator field 'm_iterator3' to a GC managed collection declared here: 33 HeapHashMap<int, Member<HeapObject>>::reverse_iterator m_iterator3; 34 ^ 35 ./fields_illegal_tracing.h:56:5: note: [blink-gc] Iterator field 'm_iterator4' to a GC managed collection declared here: 36 HeapDeque<Member<HeapObject>>::const_reverse_iterator m_iterator4; 37 ^ 38 ./fields_illegal_tracing.h:58:5: note: [blink-gc] Iterator field 'm_iterator6' to a GC managed collection declared here: 39 HeapLinkedHashSet<Member<HeapObject>>::const_iterator m_iterator6; 40 ^ 41 fields_illegal_tracing.cpp:9:1: warning: [blink-gc] Class 'PartObject' has untraced or not traceable fields. 42 void PartObject::Trace(Visitor* visitor) { 43 ^ 44 ./fields_illegal_tracing.h:37:5: note: [blink-gc] Untraceable field 'm_obj1' declared here: 45 OwnPtr<HeapObject> m_obj1; 46 ^ 47 ./fields_illegal_tracing.h:38:5: note: [blink-gc] Untraceable field 'm_obj2' declared here: 48 RefPtr<HeapObject> m_obj2; 49 ^ 50 ./fields_illegal_tracing.h:40:5: note: [blink-gc] Untraceable field 'm_obj4' declared here: 51 std::unique_ptr<HeapObject> m_obj4; 52 ^ 53 fields_illegal_tracing.cpp:16:1: warning: [blink-gc] Class 'HeapObject' has untraced or not traceable fields. 54 void HeapObject::Trace(Visitor* visitor) { 55 ^ 56 ./fields_illegal_tracing.h:51:5: note: [blink-gc] Untraceable field 'm_obj1' declared here: 57 OwnPtr<HeapObject> m_obj1; 58 ^ 59 ./fields_illegal_tracing.h:52:5: note: [blink-gc] Untraceable field 'm_obj2' declared here: 60 RefPtr<HeapObject> m_obj2; 61 ^ 62 ./fields_illegal_tracing.h:54:5: note: [blink-gc] Untraceable field 'm_obj4' declared here: 63 std::unique_ptr<HeapObject> m_obj4; 64 ^ 65 ./fields_illegal_tracing.h:57:5: note: [blink-gc] Untraced field 'm_iterator5' declared here: 66 HeapListHashSet<Member<HeapObject>>::const_iterator m_iterator5; 67 ^ 68 4 warnings generated. 69