Skip to content

Commit 034f4f7

Browse files
committed
Add Send + Sync mark to Box<dyn Script> (#12)
1 parent dd2921f commit 034f4f7

74 files changed

Lines changed: 317 additions & 289 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/ext/io.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2458,7 +2458,7 @@ impl<T: Seek> Seek for PrefixStream<T> {
24582458
/// A readable stream that concatenates multiple streams.
24592459
#[derive(Debug)]
24602460
pub struct MultipleReadStream<'a> {
2461-
streams: Vec<Box<dyn ReadSeek + 'a>>,
2461+
streams: Vec<Box<dyn ReadSeek + Send + Sync + 'a>>,
24622462
stream_lengths: Vec<u64>,
24632463
total_length: u64,
24642464
pos: u64,
@@ -2476,7 +2476,7 @@ impl<'a> MultipleReadStream<'a> {
24762476
}
24772477

24782478
/// Adds a new stream to the end of the concatenated streams.
2479-
pub fn add_stream<T: ReadSeek + 'a>(&mut self, mut stream: T) -> Result<()> {
2479+
pub fn add_stream<T: ReadSeek + Send + Sync + 'a>(&mut self, mut stream: T) -> Result<()> {
24802480
let length = stream.stream_length()?;
24812481
self.streams.push(Box::new(stream));
24822482
self.stream_lengths.push(self.total_length);
@@ -2485,7 +2485,7 @@ impl<'a> MultipleReadStream<'a> {
24852485
}
24862486

24872487
/// Adds a new boxed stream to the end of the concatenated streams.
2488-
pub fn add_stream_boxed(&mut self, mut stream: Box<dyn ReadSeek>) -> Result<()> {
2488+
pub fn add_stream_boxed(&mut self, mut stream: Box<dyn ReadSeek + Send + Sync>) -> Result<()> {
24892489
let length = stream.stream_length()?;
24902490
self.streams.push(stream);
24912491
self.stream_lengths.push(self.total_length);

src/scripts/artemis/archive/pf2.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ impl ScriptBuilder for ArtemisPf2Builder {
3838
archive_encoding: Encoding,
3939
config: &ExtraConfig,
4040
_archive: Option<&Box<dyn Script>>,
41-
) -> Result<Box<dyn Script>> {
41+
) -> Result<Box<dyn Script + Send + Sync>> {
4242
Ok(Box::new(ArtemisPf2::new(
4343
MemReader::new(buf),
4444
archive_encoding,
@@ -54,7 +54,7 @@ impl ScriptBuilder for ArtemisPf2Builder {
5454
archive_encoding: Encoding,
5555
config: &ExtraConfig,
5656
_archive: Option<&Box<dyn Script>>,
57-
) -> Result<Box<dyn Script>> {
57+
) -> Result<Box<dyn Script + Send + Sync>> {
5858
let f = std::fs::File::open(filename)?;
5959
let f = std::io::BufReader::new(f);
6060
Ok(Box::new(ArtemisPf2::new(
@@ -67,13 +67,13 @@ impl ScriptBuilder for ArtemisPf2Builder {
6767

6868
fn build_script_from_reader<'a>(
6969
&self,
70-
reader: Box<dyn ReadSeek + 'a>,
70+
reader: Box<dyn ReadSeek + Send + Sync + 'a>,
7171
filename: &str,
7272
_encoding: Encoding,
7373
archive_encoding: Encoding,
7474
config: &ExtraConfig,
7575
_archive: Option<&Box<dyn Script>>,
76-
) -> Result<Box<dyn Script + 'a>> {
76+
) -> Result<Box<dyn Script + Send + Sync + 'a>> {
7777
Ok(Box::new(ArtemisPf2::new(
7878
reader,
7979
archive_encoding,

src/scripts/artemis/archive/pfs.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ impl ScriptBuilder for ArtemisArcBuilder {
4040
archive_encoding: Encoding,
4141
config: &ExtraConfig,
4242
_archive: Option<&Box<dyn Script>>,
43-
) -> Result<Box<dyn Script>> {
43+
) -> Result<Box<dyn Script + Send + Sync>> {
4444
Ok(Box::new(ArtemisArc::new(
4545
MemReader::new(buf),
4646
archive_encoding,
@@ -56,7 +56,7 @@ impl ScriptBuilder for ArtemisArcBuilder {
5656
archive_encoding: Encoding,
5757
config: &ExtraConfig,
5858
_archive: Option<&Box<dyn Script>>,
59-
) -> Result<Box<dyn Script>> {
59+
) -> Result<Box<dyn Script + Send + Sync>> {
6060
let f = std::fs::File::open(filename)?;
6161
let f = std::io::BufReader::new(f);
6262
Ok(Box::new(ArtemisArc::new(
@@ -69,13 +69,13 @@ impl ScriptBuilder for ArtemisArcBuilder {
6969

7070
fn build_script_from_reader<'a>(
7171
&self,
72-
reader: Box<dyn ReadSeek + 'a>,
72+
reader: Box<dyn ReadSeek + Send + Sync + 'a>,
7373
filename: &str,
7474
_encoding: Encoding,
7575
archive_encoding: Encoding,
7676
config: &ExtraConfig,
7777
_archive: Option<&Box<dyn Script>>,
78-
) -> Result<Box<dyn Script + 'a>> {
78+
) -> Result<Box<dyn Script + Send + Sync + 'a>> {
7979
Ok(Box::new(ArtemisArc::new(
8080
reader,
8181
archive_encoding,

src/scripts/artemis/asb.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ impl ScriptBuilder for ArtemisAsbBuilder {
3737
_archive_encoding: Encoding,
3838
config: &ExtraConfig,
3939
_archive: Option<&Box<dyn Script>>,
40-
) -> Result<Box<dyn Script>> {
40+
) -> Result<Box<dyn Script + Send + Sync>> {
4141
Ok(Box::new(Asb::new(buf, encoding, config, filename)?))
4242
}
4343

src/scripts/artemis/ast/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ impl ScriptBuilder for AstScriptBuilder {
3838
_archive_encoding: Encoding,
3939
config: &ExtraConfig,
4040
_archive: Option<&Box<dyn Script>>,
41-
) -> Result<Box<dyn Script>> {
41+
) -> Result<Box<dyn Script + Send + Sync>> {
4242
Ok(Box::new(AstScript::new(buf, encoding, config)?))
4343
}
4444

src/scripts/artemis/panmimisoft/txt.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ impl ScriptBuilder for TxtBuilder {
3232
_archive_encoding: Encoding,
3333
config: &ExtraConfig,
3434
_archive: Option<&Box<dyn Script>>,
35-
) -> Result<Box<dyn Script>> {
35+
) -> Result<Box<dyn Script + Send + Sync>> {
3636
Ok(Box::new(TxtScript::new(buf, encoding, config)?))
3737
}
3838

src/scripts/artemis/txt.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ impl ScriptBuilder for ArtemisTxtBuilder {
2828
_archive_encoding: Encoding,
2929
_config: &ExtraConfig,
3030
_archive: Option<&Box<dyn Script>>,
31-
) -> Result<Box<dyn Script>> {
31+
) -> Result<Box<dyn Script + Send + Sync>> {
3232
Ok(Box::new(ArtemisTxtScript::new(buf, encoding)?))
3333
}
3434

src/scripts/base.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ pub trait ScriptBuilder: std::fmt::Debug {
5757
archive_encoding: Encoding,
5858
config: &ExtraConfig,
5959
archive: Option<&Box<dyn Script>>,
60-
) -> Result<Box<dyn Script>>;
60+
) -> Result<Box<dyn Script + Send + Sync>>;
6161

6262
/// Builds a script from a file.
6363
///
@@ -73,7 +73,7 @@ pub trait ScriptBuilder: std::fmt::Debug {
7373
archive_encoding: Encoding,
7474
config: &ExtraConfig,
7575
archive: Option<&Box<dyn Script>>,
76-
) -> Result<Box<dyn Script>> {
76+
) -> Result<Box<dyn Script + Send + Sync>> {
7777
let data = crate::utils::files::read_file(filename)?;
7878
self.build_script(data, filename, encoding, archive_encoding, config, archive)
7979
}
@@ -88,13 +88,13 @@ pub trait ScriptBuilder: std::fmt::Debug {
8888
/// * `archive` - An optional archive to which the script belongs.
8989
fn build_script_from_reader<'a>(
9090
&self,
91-
mut reader: Box<dyn ReadSeek + 'a>,
91+
mut reader: Box<dyn ReadSeek + Send + Sync + 'a>,
9292
filename: &str,
9393
encoding: Encoding,
9494
archive_encoding: Encoding,
9595
config: &ExtraConfig,
9696
archive: Option<&Box<dyn Script>>,
97-
) -> Result<Box<dyn Script + 'a>> {
97+
) -> Result<Box<dyn Script + Send + Sync + 'a>> {
9898
let mut data = Vec::new();
9999
reader
100100
.read_to_end(&mut data)

src/scripts/bgi/archive/dsc.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ impl ScriptBuilder for DscBuilder {
587587
_archive_encoding: Encoding,
588588
config: &ExtraConfig,
589589
_archive: Option<&Box<dyn Script>>,
590-
) -> Result<Box<dyn Script>> {
590+
) -> Result<Box<dyn Script + Send + Sync>> {
591591
Ok(Box::new(Dsc::new(buf, config)?))
592592
}
593593

src/scripts/bgi/archive/v1.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ impl ScriptBuilder for BgiArchiveBuilder {
4040
archive_encoding: Encoding,
4141
config: &ExtraConfig,
4242
_archive: Option<&Box<dyn Script>>,
43-
) -> Result<Box<dyn Script>> {
43+
) -> Result<Box<dyn Script + Send + Sync>> {
4444
Ok(Box::new(BgiArchive::new(
4545
MemReader::new(data),
4646
archive_encoding,
@@ -56,7 +56,7 @@ impl ScriptBuilder for BgiArchiveBuilder {
5656
archive_encoding: Encoding,
5757
config: &ExtraConfig,
5858
_archive: Option<&Box<dyn Script>>,
59-
) -> Result<Box<dyn Script>> {
59+
) -> Result<Box<dyn Script + Send + Sync>> {
6060
if filename == "-" {
6161
let data = crate::utils::files::read_file(filename)?;
6262
Ok(Box::new(BgiArchive::new(
@@ -79,13 +79,13 @@ impl ScriptBuilder for BgiArchiveBuilder {
7979

8080
fn build_script_from_reader<'a>(
8181
&self,
82-
reader: Box<dyn ReadSeek + 'a>,
82+
reader: Box<dyn ReadSeek + Send + Sync + 'a>,
8383
filename: &str,
8484
_encoding: Encoding,
8585
archive_encoding: Encoding,
8686
config: &ExtraConfig,
8787
_archive: Option<&Box<dyn Script>>,
88-
) -> Result<Box<dyn Script + 'a>> {
88+
) -> Result<Box<dyn Script + Send + Sync + 'a>> {
8989
Ok(Box::new(BgiArchive::new(
9090
reader,
9191
archive_encoding,

0 commit comments

Comments
 (0)