Skip to content

Commit 2336123

Browse files
committed
Remove TRACE_FIELD_COUNT
1 parent 73af1e2 commit 2336123

File tree

1 file changed

+0
-10
lines changed

1 file changed

+0
-10
lines changed

src/lib.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ pub unsafe trait Mark<'o, 'n, O, N> {
3030

3131
pub unsafe trait Trace {
3232
fn trace(t: &Self);
33-
const TRACE_FIELD_COUNT: u8;
3433
const TRACE_TYPE_INFO: GcTypeInfo;
3534
const TRACE_CHILD_TYPE_INFO: [Option<GcTypeInfo>; 8];
3635
fn trace_transitive_type_info(tti: &mut Tti);
@@ -165,7 +164,6 @@ unsafe impl<T> Immutable for Box<T> {}
165164
// If you only implement Mark and not Trace CHILD_TYPE_INFO will all be const None
166165
unsafe impl<T: Immutable> Trace for T {
167166
default fn trace(_: &T) {}
168-
default const TRACE_FIELD_COUNT: u8 = 0;
169167
default const TRACE_TYPE_INFO: GcTypeInfo = GcTypeInfo::new::<Self>();
170168
default const TRACE_CHILD_TYPE_INFO: [Option<GcTypeInfo>; 8] = [None; 8];
171169
default fn trace_transitive_type_info(_: &mut Tti) {}
@@ -181,7 +179,6 @@ unsafe impl<'r, T: 'r + Immutable + Trace> Trace for Gc<'r, T> {
181179
fn trace(t: &Self) {
182180
Trace::trace(t.deref())
183181
}
184-
const TRACE_FIELD_COUNT: u8 = 0;
185182
// A Gc<Gc<T>> is equvlent to Gc<T>
186183
const TRACE_TYPE_INFO: GcTypeInfo = GcTypeInfo::new::<T>();
187184
const TRACE_CHILD_TYPE_INFO: [Option<GcTypeInfo>; 8] = [
@@ -204,7 +201,6 @@ unsafe impl<'r, T: Immutable + Trace> Trace for Option<T> {
204201
default fn trace(t: &Self) {
205202
Trace::trace(t.deref())
206203
}
207-
default const TRACE_FIELD_COUNT: u8 = 0;
208204
default const TRACE_TYPE_INFO: GcTypeInfo = GcTypeInfo::new::<Self>();
209205
default const TRACE_CHILD_TYPE_INFO: [Option<GcTypeInfo>; 8] = GcTypeInfo::one_child::<T>();
210206
default fn trace_transitive_type_info(tti: &mut Tti) {
@@ -217,23 +213,20 @@ unsafe impl<'r, T: Immutable + Trace + HasNoGc> Trace for Option<T> {
217213
fn trace(t: &Self) {
218214
Trace::trace(t.deref())
219215
}
220-
const TRACE_FIELD_COUNT: u8 = 0;
221216
const TRACE_TYPE_INFO: GcTypeInfo = GcTypeInfo::new::<Self>();
222217
const TRACE_CHILD_TYPE_INFO: [Option<GcTypeInfo>; 8] = [None; 8];
223218
fn trace_transitive_type_info(_: &mut Tti) {}
224219
}
225220

226221
unsafe impl<T: Immutable + Trace> Trace for Box<T> {
227222
default fn trace(_: &Self) {}
228-
default const TRACE_FIELD_COUNT: u8 = 0;
229223
default const TRACE_TYPE_INFO: GcTypeInfo = GcTypeInfo::new::<Self>();
230224
default const TRACE_CHILD_TYPE_INFO: [Option<GcTypeInfo>; 8] = [None; 8];
231225
default fn trace_transitive_type_info(_: &mut Tti) {}
232226
}
233227

234228
unsafe impl<T: Immutable + Trace + HasNoGc> Trace for Box<T> {
235229
fn trace(_: &Self) {}
236-
const TRACE_FIELD_COUNT: u8 = 0;
237230
const TRACE_TYPE_INFO: GcTypeInfo = GcTypeInfo::new::<Self>();
238231
default const TRACE_CHILD_TYPE_INFO: [Option<GcTypeInfo>; 8] = GcTypeInfo::one_child::<T>();
239232
fn trace_transitive_type_info(tti: &mut Tti) {
@@ -251,7 +244,6 @@ struct List<'r, T> {
251244
// These three impls will be derived with a procedural macro
252245
unsafe impl<'r, T: 'r + Trace + Immutable> Trace for List<'r, T> {
253246
fn trace(_: &List<'r, T>) {}
254-
const TRACE_FIELD_COUNT: u8 = 0;
255247
const TRACE_TYPE_INFO: GcTypeInfo = GcTypeInfo::new::<Self>();
256248
const TRACE_CHILD_TYPE_INFO: [Option<GcTypeInfo>; 8] = [
257249
Some(GcTypeInfo::new::<T>()),
@@ -309,7 +301,6 @@ struct Foo<'r> {
309301

310302
unsafe impl<'r> Trace for Foo<'r> {
311303
fn trace(_: &Foo<'r>) {}
312-
const TRACE_FIELD_COUNT: u8 = 0;
313304
const TRACE_TYPE_INFO: GcTypeInfo = GcTypeInfo::new::<Self>();
314305
default const TRACE_CHILD_TYPE_INFO: [Option<GcTypeInfo>; 8] =
315306
GcTypeInfo::one_child::<Gc<'r, usize>>();
@@ -384,7 +375,6 @@ fn hidden_lifetime_test() {
384375
// This may not be trivail to implement as a proc macro
385376
unsafe impl<'a, 'b: 'a> Trace for Foo2<'a, 'b> {
386377
fn trace(_: &Foo2<'a, 'b>) {}
387-
const TRACE_FIELD_COUNT: u8 = 0;
388378
const TRACE_TYPE_INFO: GcTypeInfo = GcTypeInfo::new::<Self>();
389379
const TRACE_CHILD_TYPE_INFO: [Option<GcTypeInfo>; 8] =
390380
GcTypeInfo::one_child::<Gc<'a, Bar<'b>>>();

0 commit comments

Comments
 (0)