1+ #[ cfg( feature = "serde" ) ]
2+ use crate :: resolve;
13use crate :: PrintFmt ;
2- use crate :: { resolve , resolve_frame, trace, BacktraceFmt , Symbol , SymbolName } ;
4+ use crate :: { resolve_frame, trace, BacktraceFmt , Symbol , SymbolName } ;
35use std:: ffi:: c_void;
46use std:: fmt;
57use std:: path:: { Path , PathBuf } ;
@@ -50,7 +52,7 @@ pub struct BacktraceFrame {
5052#[ derive( Clone ) ]
5153enum Frame {
5254 Raw ( crate :: Frame ) ,
53- #[ allow ( dead_code ) ]
55+ #[ cfg ( feature = "serde" ) ]
5456 Deserialized {
5557 ip : usize ,
5658 symbol_address : usize ,
@@ -62,20 +64,23 @@ impl Frame {
6264 fn ip ( & self ) -> * mut c_void {
6365 match * self {
6466 Frame :: Raw ( ref f) => f. ip ( ) ,
67+ #[ cfg( feature = "serde" ) ]
6568 Frame :: Deserialized { ip, .. } => ip as * mut c_void ,
6669 }
6770 }
6871
6972 fn symbol_address ( & self ) -> * mut c_void {
7073 match * self {
7174 Frame :: Raw ( ref f) => f. symbol_address ( ) ,
75+ #[ cfg( feature = "serde" ) ]
7276 Frame :: Deserialized { symbol_address, .. } => symbol_address as * mut c_void ,
7377 }
7478 }
7579
7680 fn module_base_address ( & self ) -> Option < * mut c_void > {
7781 match * self {
7882 Frame :: Raw ( ref f) => f. module_base_address ( ) ,
83+ #[ cfg( feature = "serde" ) ]
7984 Frame :: Deserialized {
8085 module_base_address,
8186 ..
@@ -97,6 +102,7 @@ impl Frame {
97102 } ;
98103 match * self {
99104 Frame :: Raw ( ref f) => resolve_frame ( f, sym) ,
105+ #[ cfg( feature = "serde" ) ]
100106 Frame :: Deserialized { ip, .. } => {
101107 resolve ( ip as * mut c_void , sym) ;
102108 }
0 commit comments