diff --git a/crates/jrsonnet-parser/src/expr.rs b/crates/jrsonnet-parser/src/expr.rs index c381684f..081f5a66 100644 --- a/crates/jrsonnet-parser/src/expr.rs +++ b/crates/jrsonnet-parser/src/expr.rs @@ -1,4 +1,4 @@ -use gc::{Finalize, Trace}; +use gc::{Finalize, Trace, unsafe_empty_trace}; use jrsonnet_interner::IStr; #[cfg(feature = "deserialize")] use serde::Deserialize; @@ -21,7 +21,7 @@ pub enum FieldName { Dyn(LocExpr), } impl Finalize for FieldName {} -impl Trace for FieldName { +unsafe impl Trace for FieldName { unsafe_empty_trace!(); } @@ -37,7 +37,7 @@ pub enum Visibility { Unhide, } impl Finalize for Visibility {} -impl Trace for Visibility { +unsafe impl Trace for Visibility { unsafe_empty_trace!(); } @@ -52,7 +52,7 @@ impl Visibility { #[derive(Clone, Debug, PartialEq)] pub struct AssertStmt(pub LocExpr, pub Option); impl Finalize for AssertStmt {} -impl Trace for AssertStmt { +unsafe impl Trace for AssertStmt { unsafe_empty_trace!(); } @@ -67,7 +67,7 @@ pub struct FieldMember { pub value: LocExpr, } impl Finalize for FieldMember {} -impl Trace for FieldMember { +unsafe impl Trace for FieldMember { unsafe_empty_trace!(); } @@ -80,7 +80,7 @@ pub enum Member { AssertStmt(AssertStmt), } impl Finalize for Member {} -impl Trace for Member { +unsafe impl Trace for Member { unsafe_empty_trace!(); } @@ -94,7 +94,7 @@ pub enum UnaryOpType { Not, } impl Finalize for UnaryOpType {} -impl Trace for UnaryOpType { +unsafe impl Trace for UnaryOpType { unsafe_empty_trace!(); } @@ -146,7 +146,7 @@ pub enum BinaryOpType { Or, } impl Finalize for BinaryOpType {} -impl Trace for BinaryOpType { +unsafe impl Trace for BinaryOpType { unsafe_empty_trace!(); } @@ -186,7 +186,7 @@ impl Display for BinaryOpType { #[derive(Debug, PartialEq)] pub struct Param(pub IStr, pub Option); impl Finalize for Param {} -impl Trace for Param { +unsafe impl Trace for Param { unsafe_empty_trace!(); } @@ -196,7 +196,7 @@ impl Trace for Param { #[derive(Debug, Clone, PartialEq)] pub struct ParamsDesc(pub Rc>); impl Finalize for ParamsDesc {} -impl Trace for ParamsDesc { +unsafe impl Trace for ParamsDesc { unsafe_empty_trace!(); } @@ -212,7 +212,7 @@ impl Deref for ParamsDesc { #[derive(Debug, PartialEq)] pub struct Arg(pub Option, pub LocExpr); impl Finalize for Arg {} -impl Trace for Arg { +unsafe impl Trace for Arg { unsafe_empty_trace!(); } @@ -221,7 +221,7 @@ impl Trace for Arg { #[derive(Debug, PartialEq)] pub struct ArgsDesc(pub Vec); impl Finalize for ArgsDesc {} -impl Trace for ArgsDesc { +unsafe impl Trace for ArgsDesc { unsafe_empty_trace!(); } @@ -241,7 +241,7 @@ pub struct BindSpec { pub value: LocExpr, } impl Finalize for BindSpec {} -impl Trace for BindSpec { +unsafe impl Trace for BindSpec { unsafe_empty_trace!(); } @@ -250,7 +250,7 @@ impl Trace for BindSpec { #[derive(Debug, PartialEq)] pub struct IfSpecData(pub LocExpr); impl Finalize for IfSpecData {} -impl Trace for IfSpecData { +unsafe impl Trace for IfSpecData { unsafe_empty_trace!(); } @@ -259,7 +259,7 @@ impl Trace for IfSpecData { #[derive(Debug, PartialEq)] pub struct ForSpecData(pub IStr, pub LocExpr); impl Finalize for ForSpecData {} -impl Trace for ForSpecData { +unsafe impl Trace for ForSpecData { unsafe_empty_trace!(); } @@ -271,7 +271,7 @@ pub enum CompSpec { ForSpec(ForSpecData), } impl Finalize for CompSpec {} -impl Trace for CompSpec { +unsafe impl Trace for CompSpec { unsafe_empty_trace!(); } @@ -286,7 +286,7 @@ pub struct ObjComp { pub compspecs: Vec, } impl Finalize for ObjComp {} -impl Trace for ObjComp { +unsafe impl Trace for ObjComp { unsafe_empty_trace!(); } @@ -298,7 +298,7 @@ pub enum ObjBody { ObjComp(ObjComp), } impl Finalize for ObjBody {} -impl Trace for ObjBody { +unsafe impl Trace for ObjBody { unsafe_empty_trace!(); } @@ -314,7 +314,7 @@ pub enum LiteralType { False, } impl Finalize for LiteralType {} -impl Trace for LiteralType { +unsafe impl Trace for LiteralType { unsafe_empty_trace!(); } @@ -325,7 +325,7 @@ pub struct SliceDesc { pub step: Option, } impl Finalize for SliceDesc {} -impl Trace for SliceDesc { +unsafe impl Trace for SliceDesc { unsafe_empty_trace!(); } @@ -397,7 +397,7 @@ pub enum Expr { }, } impl Finalize for Expr {} -impl Trace for Expr { +unsafe impl Trace for Expr { unsafe_empty_trace!(); } @@ -407,7 +407,7 @@ impl Trace for Expr { #[derive(Clone, PartialEq)] pub struct ExprLocation(pub Rc, pub usize, pub usize); impl Finalize for ExprLocation {} -impl Trace for ExprLocation { +unsafe impl Trace for ExprLocation { unsafe_empty_trace!(); } @@ -423,7 +423,7 @@ impl Debug for ExprLocation { #[derive(Clone, PartialEq)] pub struct LocExpr(pub Rc, pub Option); impl Finalize for LocExpr {} -impl Trace for LocExpr { +unsafe impl Trace for LocExpr { unsafe_empty_trace!(); }