@@ -88,7 +88,7 @@ impl Verification {
8888/// returns `None` if the verification is not a `Sas` verification. 
8989pub  fn  as_sas ( & self )  -> Option < Arc < Sas > >  { 
9090        if  let  InnerVerification :: SasV1 ( sas)  = & self . inner  { 
91-             Some ( Sas  {  inner :  sas. to_owned ( ) ,  runtime :  self . runtime . to_owned ( )  } . into ( ) ) 
91+             Some ( Sas  {  inner :  sas. clone ( ) ,  runtime :  self . runtime . to_owned ( )  } . into ( ) ) 
9292        }  else  { 
9393            None 
9494        } 
@@ -98,7 +98,7 @@ impl Verification {
9898/// returns `None` if the verification is not a `QrCode` verification. 
9999pub  fn  as_qr ( & self )  -> Option < Arc < QrCode > >  { 
100100        if  let  InnerVerification :: QrV1 ( qr)  = & self . inner  { 
101-             Some ( QrCode  {  inner :  qr. to_owned ( ) ,  runtime :  self . runtime . to_owned ( )  } . into ( ) ) 
101+             Some ( QrCode  {  inner :  qr. clone ( ) ,  runtime :  self . runtime . to_owned ( )  } . into ( ) ) 
102102        }  else  { 
103103            None 
104104        } 
@@ -108,7 +108,7 @@ impl Verification {
108108/// The `m.sas.v1` verification flow. 
109109#[ derive( uniffi:: Object ) ]  
110110pub  struct  Sas  { 
111-     pub ( crate )  inner :  InnerSas , 
111+     pub ( crate )  inner :  Box < InnerSas > , 
112112    pub ( crate )  runtime :  Handle , 
113113} 
114114
@@ -324,7 +324,7 @@ impl From<QrVerificationState> for QrCodeState {
324324/// verification flow. 
325325#[ derive( uniffi:: Object ) ]  
326326pub  struct  QrCode  { 
327-     pub ( crate )  inner :  InnerQr , 
327+     pub ( crate )  inner :  Box < InnerQr > , 
328328    pub ( crate )  runtime :  Handle , 
329329} 
330330
@@ -669,7 +669,7 @@ impl VerificationRequest {
669669///   verification flow. 
670670pub  fn  start_sas_verification ( & self )  -> Result < Option < StartSasResult > ,  CryptoStoreError >  { 
671671        Ok ( self . runtime . block_on ( self . inner . start_sas ( ) ) ?. map ( |( sas,  r) | StartSasResult  { 
672-             sas :  Arc :: new ( Sas  {  inner :  sas,  runtime :  self . runtime . clone ( )  } ) , 
672+             sas :  Arc :: new ( Sas  {  inner :  Box :: new ( sas) ,  runtime :  self . runtime . clone ( )  } ) , 
673673            request :  r. into ( ) , 
674674        } ) ) 
675675    } 
@@ -690,7 +690,7 @@ impl VerificationRequest {
690690        Ok ( self 
691691            . runtime 
692692            . block_on ( self . inner . generate_qr_code ( ) ) ?
693-             . map ( |qr| QrCode  {  inner :  qr ,  runtime :  self . runtime . clone ( )  } . into ( ) ) ) 
693+             . map ( |qr| QrCode  {  inner :  Box :: new ( qr ) ,  runtime :  self . runtime . clone ( )  } . into ( ) ) ) 
694694    } 
695695
696696    /// Pass data from a scanned QR code to an active verification request and 
@@ -717,7 +717,7 @@ impl VerificationRequest {
717717            let  request = qr. reciprocate ( ) ?; 
718718
719719            Some ( ScanResult  { 
720-                 qr :  QrCode  {  inner :  qr ,  runtime :  self . runtime . clone ( )  } . into ( ) , 
720+                 qr :  QrCode  {  inner :  Box :: new ( qr ) ,  runtime :  self . runtime . clone ( )  } . into ( ) , 
721721                request :  request. into ( ) , 
722722            } ) 
723723        }  else  { 
0 commit comments