From 6cae26f7e099d51991b8e5b749e1c4b9f45d53a2 Mon Sep 17 00:00:00 2001 From: Shaun Jackman Date: Mon, 15 Jul 2024 11:28:30 -0700 Subject: [PATCH] feat: Replace Arc with Rc to fix clippy lint Fix the clippy lint: Error: error: usage of an `Arc` that is not `Send` and `Sync` --- src/lib.rs | 12 +++++------- star-sys/src/lib.rs | 2 -- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 9917d42..e1907e5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,7 +7,7 @@ use std::io::BufReader; use std::os::raw::c_char; use std::os::raw::c_int; use std::path::Path; -use std::sync::Arc; +use std::rc::Rc; use anyhow::{format_err, Error}; use rust_htslib::bam; @@ -16,7 +16,7 @@ use rust_htslib::bam::HeaderView; use star_sys::{self as bindings, Aligner as BindAligner, StarRef as BindRef}; pub struct StarReference { - inner: Arc, + inner: Rc, } struct InnerStarReference { @@ -26,8 +26,6 @@ struct InnerStarReference { header_view: HeaderView, } -unsafe impl Sync for InnerStarReference {} - impl Drop for InnerStarReference { fn drop(&mut self) { unsafe { @@ -65,7 +63,7 @@ impl StarReference { }; Ok(StarReference { - inner: Arc::new(inner), + inner: Rc::new(inner), }) } @@ -151,7 +149,7 @@ impl StarSettings { /// rust_htslib Record objects pub struct StarAligner { aligner: *mut BindAligner, - reference: Arc, + reference: Rc, sam_buf: Vec, aln_buf: Vec, fastq1: Vec, @@ -167,7 +165,7 @@ enum AlignedRecords<'a> { } impl StarAligner { - fn new(reference: Arc) -> StarAligner { + fn new(reference: Rc) -> StarAligner { let aligner = unsafe { bindings::init_aligner_from_ref(reference.as_ref().reference) }; let header_view = reference.as_ref().header_view.clone(); diff --git a/star-sys/src/lib.rs b/star-sys/src/lib.rs index 2e2d2e5..1b7ba06 100644 --- a/star-sys/src/lib.rs +++ b/star-sys/src/lib.rs @@ -6,8 +6,6 @@ pub struct StarRef { _unused: [u8; 0], } -unsafe impl Send for StarRef {} - #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct Aligner {