prometheus-client-mmap 1.1.0-aarch64-linux → 1.2.1-aarch64-linux

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0f3aff90f6fc8809d473bded7318a51ca51286a9ca445ed4085ee911d9d9ad2a
4
- data.tar.gz: ab0edd0692101588490d86cf183f73b5875a92c55bba5aeac2d921d11e2184bf
3
+ metadata.gz: 173ae0d70b09fbdec1a590b3f45118feeb0adacf8b70cb7f6dd0a223656dfdd4
4
+ data.tar.gz: f7bb04747512b68fa409b13b46168eafa28dd093f81ed7ce5e1693eb01ee8fc9
5
5
  SHA512:
6
- metadata.gz: 66a4461a1494d402f9eb26f4cbfa16e8f5f86ce7ec412da4535781035049dab7fe488a24bf48ba6e1f50f708626a36ad0eff29574b730e3961a467c797f37b3d
7
- data.tar.gz: 1e3c909dc185e9c9e4ac6b671616eaf514df62f7ad7d7c188e5c08ed76b7308cc51e1c36d1cd0272e13f42a6303caf0d448e560b6378bf60478a3859dfdb9d89
6
+ metadata.gz: eefedaf1aab3e0b06f17c15c856df9a35ca425370284cdfdb27a1a9ca2244062f9f40978e393a2cebcaf87c4ecc66cf982d48dc7ce8d79dd73ea8df8ef8c43e4
7
+ data.tar.gz: a389f93084006bdd244f60a383f9b1d35e15f2302a0a6081dbe7f00e29d9affa72601e524e9ea65bb89d1dd2aa30704c5ed4a91a639c497321cb211953289e90
@@ -6,29 +6,29 @@ edition = "2021"
6
6
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7
7
 
8
8
  [dependencies]
9
- hashbrown = "0.13"
9
+ hashbrown = "0.14"
10
10
  libc = "0.2"
11
- magnus = { version = "0.6", features = ["rb-sys"] }
12
- memmap2 = "0.5"
11
+ magnus = { version = "0.7", features = ["rb-sys"] }
12
+ memmap2 = "0.9"
13
13
  # v0.26 cannot be built on CentOS 7 https://github.com/nix-rust/nix/issues/1972
14
14
  nix = { version = "0.25", features = ["mman"] } # mman used for MsFlags
15
- rb-sys = "0.9.86"
15
+ rb-sys = { version = "0.9", features = ["stable-api-compiled-fallback"] }
16
16
  serde = { version = "1.0", features = ["derive"] }
17
17
  serde_json = { version = "1.0", features = ["raw_value"] }
18
- smallvec = { version = "1.10", features = ["serde"] }
19
- thiserror = "1.0"
18
+ smallvec = { version = "1.13", features = ["serde"] }
19
+ thiserror = "2.0"
20
20
 
21
21
  [dev-dependencies]
22
- bstr = "1.6"
22
+ bstr = "1.11"
23
23
  indoc = "2.0"
24
24
  # We need the `embed` feature to run tests, but this triggers failures when building as a Gem.
25
- magnus = { version = "0.6", features = ["rb-sys","embed"] }
25
+ magnus = { version = "0.7", features = ["rb-sys","embed"] }
26
26
  rand = "0.8"
27
27
  sha2 = "0.10"
28
- tempfile = "3.5"
28
+ tempfile = "3.14"
29
29
 
30
30
  [build-dependencies]
31
- rb-sys-env = "0.1"
31
+ rb-sys-env = { git = "https://github.com/oxidize-rb/rb-sys.git", rev = "5d1999ba70d301581524b8252c8ff3b8a825afa2" }
32
32
 
33
33
  [lib]
34
34
  # Integration tests won't work if crate is only `cdylib`.
@@ -100,13 +100,6 @@ pub enum MmapError {
100
100
  /// No mmap open.
101
101
  #[error("unmapped file")]
102
102
  UnmappedFile,
103
- /// File length changed by another process.
104
- #[error("size of {path} {len} does not match previous size {expected_len}. Another process may have modified it.")]
105
- UnexpectedFileLength {
106
- path: String,
107
- len: usize,
108
- expected_len: usize,
109
- },
110
103
  /// A custom error message with `strerror(3)` appended.
111
104
  #[error("{0}")]
112
105
  WithErrno(String),
@@ -169,7 +162,6 @@ impl MmapError {
169
162
  MmapError::Other(_) => RubyError::Arg,
170
163
  MmapError::PromParsing(_) => RubyError::PromParsing,
171
164
  MmapError::UnmappedFile => RubyError::Io,
172
- MmapError::UnexpectedFileLength { .. } => RubyError::Runtime,
173
165
  MmapError::WithErrno(_) => RubyError::Io,
174
166
  }
175
167
  }
@@ -5,7 +5,7 @@ use std::fs::File;
5
5
  use std::mem::size_of;
6
6
  use std::ops::Range;
7
7
  use std::os::unix::prelude::{AsRawFd, RawFd};
8
- use std::path::{Path, PathBuf};
8
+ use std::path::PathBuf;
9
9
 
10
10
  use crate::error::{MmapError, RubyError};
11
11
  use crate::raw_entry::RawEntry;
@@ -34,8 +34,6 @@ pub(super) struct InnerMmap {
34
34
  ///
35
35
  /// Equivalent to `i_mm->t->real` in the C implementation.
36
36
  len: usize,
37
- /// The length of the file being mmapped at the time of mapping.
38
- file_len: usize,
39
37
  }
40
38
 
41
39
  impl InnerMmap {
@@ -43,12 +41,19 @@ impl InnerMmap {
43
41
  /// Use when mmapping a file for the first time. When re-mapping a file
44
42
  /// after expanding it the `reestablish` function should be used.
45
43
  pub fn new(path: PathBuf, file: File) -> Result<Self> {
46
- let initial_file_len = get_file_len(&path, &file)?;
44
+ let stat = file.metadata().map_err(|e| {
45
+ MmapError::legacy(
46
+ format!("Can't stat {}: {e}", path.display()),
47
+ RubyError::Arg,
48
+ )
49
+ })?;
50
+
51
+ let file_size = util::cast_chk::<_, usize>(stat.len(), "file length")?;
47
52
 
48
53
  // We need to ensure the underlying file descriptor is at least a page size.
49
54
  // Otherwise, we could get a SIGBUS error if mmap() attempts to read or write
50
55
  // past the file.
51
- let reserve_size = Self::next_page_boundary(initial_file_len)?;
56
+ let reserve_size = Self::next_page_boundary(file_size)?;
52
57
 
53
58
  // Cast: no-op.
54
59
  Self::reserve_mmap_file_bytes(file.as_raw_fd(), reserve_size as off_t).map_err(|e| {
@@ -62,23 +67,21 @@ impl InnerMmap {
62
67
  })?;
63
68
 
64
69
  // Ensure we always have space for the header.
65
- let map_len = initial_file_len.max(HEADER_SIZE);
70
+ let map_len = file_size.max(HEADER_SIZE);
66
71
 
67
72
  // SAFETY: There is the possibility of UB if the file is modified outside of
68
73
  // this program.
69
74
  let map = unsafe { MmapOptions::new().len(map_len).map_mut(&file) }.map_err(|e| {
70
75
  MmapError::legacy(format!("mmap failed ({}): {e}", errno()), RubyError::Arg)
71
76
  })?;
72
- let file_len = util::cast_chk::<_, usize>(reserve_size, "file length")?;
73
77
 
74
- let len = initial_file_len;
78
+ let len = file_size;
75
79
 
76
80
  Ok(Self {
77
81
  file,
78
82
  path,
79
83
  map,
80
84
  len,
81
- file_len,
82
85
  })
83
86
  }
84
87
 
@@ -94,14 +97,12 @@ impl InnerMmap {
94
97
  // to the old length at this point if closing the file. Matching C implementation
95
98
  // for now.
96
99
  let len = map_len;
97
- let file_len = get_file_len(&path, &file)?;
98
100
 
99
101
  Ok(Self {
100
102
  file,
101
103
  path,
102
104
  map,
103
105
  len,
104
- file_len,
105
106
  })
106
107
  }
107
108
 
@@ -185,7 +186,7 @@ impl InnerMmap {
185
186
  self.len
186
187
  }
187
188
 
188
- /// The total length in bytes of the mmapped region of the file.
189
+ /// The total length in bytes of the mmapped file.
189
190
  ///
190
191
  /// Equivalent to `i_mm->t->len` in the C implementation.
191
192
  #[inline]
@@ -193,21 +194,6 @@ impl InnerMmap {
193
194
  self.map.len()
194
195
  }
195
196
 
196
- /// `stat` the mmapped file and return its length.
197
- pub fn check_file_len(&self) -> Result<usize> {
198
- get_file_len(&self.path, &self.file)
199
- }
200
-
201
- /// The length of the file at the time it was mmapped.
202
- pub fn file_len(&self) -> usize {
203
- self.file_len
204
- }
205
-
206
- /// The path of the mmapped file.
207
- pub fn path(&self) -> String {
208
- self.path.to_string_lossy().to_string()
209
- }
210
-
211
197
  /// Update the length of the mmap considered to be written.
212
198
  pub fn set_len(&mut self, len: usize) {
213
199
  self.len = len;
@@ -326,17 +312,6 @@ impl InnerMmap {
326
312
  }
327
313
  }
328
314
 
329
- fn get_file_len(path: &Path, file: &File) -> Result<usize> {
330
- let stat = file.metadata().map_err(|e| {
331
- MmapError::legacy(
332
- format!("Can't stat {}: {e}", path.display()),
333
- RubyError::Arg,
334
- )
335
- })?;
336
-
337
- util::cast_chk::<_, usize>(stat.len(), "file length")
338
- }
339
-
340
315
  #[cfg(test)]
341
316
  mod test {
342
317
  use nix::unistd::{self, SysconfVar};
@@ -25,11 +25,18 @@ use inner::InnerMmap;
25
25
 
26
26
  mod inner;
27
27
 
28
- /// The Ruby `STR_NOEMBED` flag, aka `FL_USER1`.
29
- const STR_NOEMBED: c_ulong = 1 << (13);
28
+ #[cfg(ruby_gte_3_4)]
29
+ /// The Ruby `STR_SHARED` flag, aka `FL_USER0`.
30
+ /// This was changed from `FL_USER2` in https://github.com/ruby/ruby/commit/6deeec5d459ecff5ec4628523b14ac7379fd942e.
31
+ const STR_SHARED: c_ulong = 1 << (12);
32
+
33
+ #[cfg(ruby_lte_3_3)]
30
34
  /// The Ruby `STR_SHARED` flag, aka `FL_USER2`.
31
35
  const STR_SHARED: c_ulong = 1 << (14);
32
36
 
37
+ /// The Ruby `STR_NOEMBED` flag, aka `FL_USER1`.
38
+ const STR_NOEMBED: c_ulong = 1 << (13);
39
+
33
40
  /// A Rust struct wrapped in a Ruby object, providing access to a memory-mapped
34
41
  /// file used to store, update, and read out Prometheus metrics.
35
42
  ///
@@ -441,49 +448,17 @@ impl MmapedFile {
441
448
  }
442
449
 
443
450
  /// Check that the mmap is large enough to contain the value to be added,
444
- /// and expand it to fit if necessary. Will return an error if the file
445
- /// has been resized by another process.
451
+ /// and expand it to fit if necessary.
446
452
  fn check_expand(&self, rb_self: Obj<Self>, key_len: usize) -> magnus::error::Result<()> {
447
453
  // CAST: no-op on 32-bit, widening on 64-bit.
448
454
  let used = self.inner(|inner| inner.load_used())? as usize;
449
455
  let entry_len = RawEntry::calc_total_len(key_len)?;
450
- let required_len = used.add_chk(entry_len)?;
451
- let mut target_cap = self.capacity();
452
456
 
453
- let mut needs_resize = false;
454
457
  // We need the mmapped region to contain at least one byte beyond the
455
- // written data to create a NUL-terminated C string. Validate that
456
- // new length does not exactly match the length of the mmap.
457
- if target_cap <= required_len {
458
- needs_resize = true;
459
- target_cap = required_len + 1;
460
- }
461
-
462
- let (current_file_len, original_file_len) =
463
- self.inner(|inner| Ok((inner.check_file_len()?, inner.file_len())))?;
464
-
465
- let file_modified = current_file_len != original_file_len;
466
- if file_modified {
467
- // Ensure our new capacity is at least as large as the actual file.
468
- // Erroring out without first resizing the mmap would leave us stuck
469
- // in a bad state.
470
- target_cap = current_file_len
471
- }
472
-
473
- if needs_resize {
474
- self.expand_to_fit(rb_self, target_cap)?;
475
- }
476
-
477
- if file_modified {
478
- // Return an error so the caller is alerted that there were concurrent writes to the
479
- // file.
480
- let path = self.inner(|inner| Ok(inner.path()))?;
481
- return Err(MmapError::UnexpectedFileLength {
482
- path,
483
- len: current_file_len,
484
- expected_len: original_file_len,
485
- }
486
- .into());
458
+ // written data to create a NUL- terminated C string. Validate that
459
+ // new length does not exactly match or exceed the length of the mmap.
460
+ while self.capacity() <= used.add_chk(entry_len)? {
461
+ self.expand_to_fit(rb_self, self.capacity().mul_chk(2)?)?;
487
462
  }
488
463
 
489
464
  Ok(())
@@ -684,7 +659,6 @@ mod test {
684
659
  use super::*;
685
660
  use crate::raw_entry::RawEntry;
686
661
  use crate::testhelper::TestFile;
687
- use std::os::unix::prelude::AsRawFd;
688
662
 
689
663
  /// Create a wrapped MmapedFile object.
690
664
  fn create_obj() -> Obj<MmapedFile> {
@@ -914,37 +888,4 @@ mod test {
914
888
  // Validate that we have expanded the mmap, ensuring a trailing NUL.
915
889
  assert!(rs_self.capacity() > current_cap);
916
890
  }
917
-
918
- #[test]
919
- fn test_detect_external_resize() {
920
- let _cleanup = unsafe { magnus::embed::init() };
921
- let ruby = magnus::Ruby::get().unwrap();
922
- crate::init(&ruby).unwrap();
923
-
924
- let TestFile {
925
- file,
926
- path,
927
- dir: _dir,
928
- } = TestFile::new(&[0u8; 8]);
929
-
930
- let path_str = path.display().to_string();
931
- let rpath = RString::new(&path_str);
932
-
933
- // Object created successfully
934
- let result: std::result::Result<Obj<MmapedFile>, Error> =
935
- eval!("FastMmapedFileRs.new(path)", path = rpath);
936
- assert!(result.is_ok());
937
- let obj = result.unwrap();
938
-
939
- let rs_self = &*obj;
940
-
941
- let file_len = 1 << 32;
942
- nix::unistd::ftruncate(file.as_raw_fd(), file_len).unwrap();
943
-
944
- // We error when the file is externally modified.
945
- assert!(rs_self.check_expand(obj, 512).is_err());
946
-
947
- // We updated the object to use the new size.
948
- assert_eq!(rs_self.capacity(), file_len as usize);
949
- }
950
891
  }
Binary file
Binary file
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  module Prometheus
2
2
  module Client
3
- VERSION = '1.1.0'.freeze
3
+ VERSION = '1.2.1'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prometheus-client-mmap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.1
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Tobias Schmidt
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2024-01-03 00:00:00.000000000 Z
14
+ date: 2024-12-29 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rb_sys
@@ -27,6 +27,34 @@ dependencies:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
29
  version: 0.9.86
30
+ - !ruby/object:Gem::Dependency
31
+ name: base64
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ - !ruby/object:Gem::Dependency
45
+ name: bigdecimal
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
30
58
  - !ruby/object:Gem::Dependency
31
59
  name: fuzzbert
32
60
  requirement: !ruby/object:Gem::Requirement
@@ -81,42 +109,56 @@ dependencies:
81
109
  requirements:
82
110
  - - "~>"
83
111
  - !ruby/object:Gem::Version
84
- version: 1.2.1
112
+ version: 1.2.7
85
113
  type: :development
86
114
  prerelease: false
87
115
  version_requirements: !ruby/object:Gem::Requirement
88
116
  requirements:
89
117
  - - "~>"
90
118
  - !ruby/object:Gem::Version
91
- version: 1.2.1
119
+ version: 1.2.7
92
120
  - !ruby/object:Gem::Dependency
93
121
  name: rake-compiler-dock
94
122
  requirement: !ruby/object:Gem::Requirement
95
123
  requirements:
96
124
  - - "~>"
97
125
  - !ruby/object:Gem::Version
98
- version: 1.4.0
126
+ version: 1.7.0
127
+ type: :development
128
+ prerelease: false
129
+ version_requirements: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: 1.7.0
134
+ - !ruby/object:Gem::Dependency
135
+ name: rspec
136
+ requirement: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: '3.2'
99
141
  type: :development
100
142
  prerelease: false
101
143
  version_requirements: !ruby/object:Gem::Requirement
102
144
  requirements:
103
145
  - - "~>"
104
146
  - !ruby/object:Gem::Version
105
- version: 1.4.0
147
+ version: '3.2'
106
148
  - !ruby/object:Gem::Dependency
107
149
  name: ruby-prof
108
150
  requirement: !ruby/object:Gem::Requirement
109
151
  requirements:
110
152
  - - "~>"
111
153
  - !ruby/object:Gem::Version
112
- version: 0.16.2
154
+ version: '1.7'
113
155
  type: :development
114
156
  prerelease: false
115
157
  version_requirements: !ruby/object:Gem::Requirement
116
158
  requirements:
117
159
  - - "~>"
118
160
  - !ruby/object:Gem::Version
119
- version: 0.16.2
161
+ version: '1.7'
120
162
  description:
121
163
  email:
122
164
  - ts@soundcloud.com
@@ -129,8 +171,6 @@ extra_rdoc_files: []
129
171
  files:
130
172
  - ".tool-versions"
131
173
  - README.md
132
- - ext/fast_mmaped_file_rs/.cargo/config.toml
133
- - ext/fast_mmaped_file_rs/Cargo.lock
134
174
  - ext/fast_mmaped_file_rs/Cargo.toml
135
175
  - ext/fast_mmaped_file_rs/README.md
136
176
  - ext/fast_mmaped_file_rs/build.rs
@@ -146,11 +186,10 @@ files:
146
186
  - ext/fast_mmaped_file_rs/src/raw_entry.rs
147
187
  - ext/fast_mmaped_file_rs/src/testhelper.rs
148
188
  - ext/fast_mmaped_file_rs/src/util.rs
149
- - lib/2.7/fast_mmaped_file_rs.so
150
- - lib/3.0/fast_mmaped_file_rs.so
151
189
  - lib/3.1/fast_mmaped_file_rs.so
152
190
  - lib/3.2/fast_mmaped_file_rs.so
153
191
  - lib/3.3/fast_mmaped_file_rs.so
192
+ - lib/3.4/fast_mmaped_file_rs.so
154
193
  - lib/prometheus.rb
155
194
  - lib/prometheus/client.rb
156
195
  - lib/prometheus/client/configuration.rb
@@ -192,17 +231,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
192
231
  requirements:
193
232
  - - ">="
194
233
  - !ruby/object:Gem::Version
195
- version: '2.7'
234
+ version: '3.1'
196
235
  - - "<"
197
236
  - !ruby/object:Gem::Version
198
- version: 3.4.dev
237
+ version: 3.5.dev
199
238
  required_rubygems_version: !ruby/object:Gem::Requirement
200
239
  requirements:
201
240
  - - ">="
202
241
  - !ruby/object:Gem::Version
203
242
  version: '0'
204
243
  requirements: []
205
- rubygems_version: 3.4.4
244
+ rubygems_version: 3.5.23
206
245
  signing_key:
207
246
  specification_version: 4
208
247
  summary: A suite of instrumentation metric primitives that can be exposed through
@@ -1,23 +0,0 @@
1
- [target.aarch64-apple-darwin]
2
- # Without this flag, when linking static libruby, the linker removes symbols
3
- # (such as `_rb_ext_ractor_safe`) which it thinks are dead code... but they are
4
- # not, and they need to be included for the `embed` feature to work with static
5
- # Ruby.
6
- rustflags = [
7
- "-C", "link-dead-code=on",
8
- "-C", "link-arg=-undefined",
9
- "-C", "link-arg=dynamic_lookup",
10
- ]
11
-
12
- [target.x86_64-apple-darwin]
13
- rustflags = [
14
- "-C", "link-dead-code=on",
15
- "-C", "link-arg=-undefined",
16
- "-C", "link-arg=dynamic_lookup",
17
- ]
18
-
19
- [target.aarch64-unknown-linux-gnu]
20
- rustflags = [ "-C", "link-dead-code=on" ]
21
-
22
- [target.x86_64-unknown-linux-gnu]
23
- rustflags = [ "-C", "link-dead-code=on" ]
@@ -1,734 +0,0 @@
1
- # This file is automatically @generated by Cargo.
2
- # It is not intended for manual editing.
3
- version = 3
4
-
5
- [[package]]
6
- name = "ahash"
7
- version = "0.8.3"
8
- source = "registry+https://github.com/rust-lang/crates.io-index"
9
- checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
10
- dependencies = [
11
- "cfg-if",
12
- "once_cell",
13
- "version_check",
14
- ]
15
-
16
- [[package]]
17
- name = "aho-corasick"
18
- version = "0.7.20"
19
- source = "registry+https://github.com/rust-lang/crates.io-index"
20
- checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
21
- dependencies = [
22
- "memchr",
23
- ]
24
-
25
- [[package]]
26
- name = "autocfg"
27
- version = "1.1.0"
28
- source = "registry+https://github.com/rust-lang/crates.io-index"
29
- checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
30
-
31
- [[package]]
32
- name = "bindgen"
33
- version = "0.69.1"
34
- source = "registry+https://github.com/rust-lang/crates.io-index"
35
- checksum = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2"
36
- dependencies = [
37
- "bitflags 2.3.3",
38
- "cexpr",
39
- "clang-sys",
40
- "lazy_static",
41
- "lazycell",
42
- "peeking_take_while",
43
- "proc-macro2",
44
- "quote",
45
- "regex",
46
- "rustc-hash",
47
- "shlex",
48
- "syn",
49
- ]
50
-
51
- [[package]]
52
- name = "bitflags"
53
- version = "1.3.2"
54
- source = "registry+https://github.com/rust-lang/crates.io-index"
55
- checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
56
-
57
- [[package]]
58
- name = "bitflags"
59
- version = "2.3.3"
60
- source = "registry+https://github.com/rust-lang/crates.io-index"
61
- checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
62
-
63
- [[package]]
64
- name = "block-buffer"
65
- version = "0.10.4"
66
- source = "registry+https://github.com/rust-lang/crates.io-index"
67
- checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
68
- dependencies = [
69
- "generic-array",
70
- ]
71
-
72
- [[package]]
73
- name = "bstr"
74
- version = "1.6.0"
75
- source = "registry+https://github.com/rust-lang/crates.io-index"
76
- checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
77
- dependencies = [
78
- "memchr",
79
- "regex-automata",
80
- "serde",
81
- ]
82
-
83
- [[package]]
84
- name = "cc"
85
- version = "1.0.79"
86
- source = "registry+https://github.com/rust-lang/crates.io-index"
87
- checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
88
-
89
- [[package]]
90
- name = "cexpr"
91
- version = "0.6.0"
92
- source = "registry+https://github.com/rust-lang/crates.io-index"
93
- checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
94
- dependencies = [
95
- "nom",
96
- ]
97
-
98
- [[package]]
99
- name = "cfg-if"
100
- version = "1.0.0"
101
- source = "registry+https://github.com/rust-lang/crates.io-index"
102
- checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
103
-
104
- [[package]]
105
- name = "clang-sys"
106
- version = "1.6.1"
107
- source = "registry+https://github.com/rust-lang/crates.io-index"
108
- checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f"
109
- dependencies = [
110
- "glob",
111
- "libc",
112
- "libloading",
113
- ]
114
-
115
- [[package]]
116
- name = "cpufeatures"
117
- version = "0.2.6"
118
- source = "registry+https://github.com/rust-lang/crates.io-index"
119
- checksum = "280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181"
120
- dependencies = [
121
- "libc",
122
- ]
123
-
124
- [[package]]
125
- name = "crypto-common"
126
- version = "0.1.6"
127
- source = "registry+https://github.com/rust-lang/crates.io-index"
128
- checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
129
- dependencies = [
130
- "generic-array",
131
- "typenum",
132
- ]
133
-
134
- [[package]]
135
- name = "digest"
136
- version = "0.10.7"
137
- source = "registry+https://github.com/rust-lang/crates.io-index"
138
- checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
139
- dependencies = [
140
- "block-buffer",
141
- "crypto-common",
142
- ]
143
-
144
- [[package]]
145
- name = "errno"
146
- version = "0.3.2"
147
- source = "registry+https://github.com/rust-lang/crates.io-index"
148
- checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
149
- dependencies = [
150
- "errno-dragonfly",
151
- "libc",
152
- "windows-sys",
153
- ]
154
-
155
- [[package]]
156
- name = "errno-dragonfly"
157
- version = "0.1.2"
158
- source = "registry+https://github.com/rust-lang/crates.io-index"
159
- checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
160
- dependencies = [
161
- "cc",
162
- "libc",
163
- ]
164
-
165
- [[package]]
166
- name = "fast_mmaped_file_rs"
167
- version = "0.1.0"
168
- dependencies = [
169
- "bstr",
170
- "hashbrown",
171
- "indoc",
172
- "libc",
173
- "magnus",
174
- "memmap2",
175
- "nix",
176
- "rand",
177
- "rb-sys",
178
- "rb-sys-env",
179
- "serde",
180
- "serde_json",
181
- "sha2",
182
- "smallvec",
183
- "tempfile",
184
- "thiserror",
185
- ]
186
-
187
- [[package]]
188
- name = "fastrand"
189
- version = "2.0.0"
190
- source = "registry+https://github.com/rust-lang/crates.io-index"
191
- checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
192
-
193
- [[package]]
194
- name = "generic-array"
195
- version = "0.14.7"
196
- source = "registry+https://github.com/rust-lang/crates.io-index"
197
- checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
198
- dependencies = [
199
- "typenum",
200
- "version_check",
201
- ]
202
-
203
- [[package]]
204
- name = "getrandom"
205
- version = "0.2.8"
206
- source = "registry+https://github.com/rust-lang/crates.io-index"
207
- checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
208
- dependencies = [
209
- "cfg-if",
210
- "libc",
211
- "wasi",
212
- ]
213
-
214
- [[package]]
215
- name = "glob"
216
- version = "0.3.1"
217
- source = "registry+https://github.com/rust-lang/crates.io-index"
218
- checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
219
-
220
- [[package]]
221
- name = "hashbrown"
222
- version = "0.13.2"
223
- source = "registry+https://github.com/rust-lang/crates.io-index"
224
- checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
225
- dependencies = [
226
- "ahash",
227
- ]
228
-
229
- [[package]]
230
- name = "indoc"
231
- version = "2.0.3"
232
- source = "registry+https://github.com/rust-lang/crates.io-index"
233
- checksum = "2c785eefb63ebd0e33416dfcb8d6da0bf27ce752843a45632a67bf10d4d4b5c4"
234
-
235
- [[package]]
236
- name = "itoa"
237
- version = "1.0.6"
238
- source = "registry+https://github.com/rust-lang/crates.io-index"
239
- checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
240
-
241
- [[package]]
242
- name = "lazy_static"
243
- version = "1.4.0"
244
- source = "registry+https://github.com/rust-lang/crates.io-index"
245
- checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
246
-
247
- [[package]]
248
- name = "lazycell"
249
- version = "1.3.0"
250
- source = "registry+https://github.com/rust-lang/crates.io-index"
251
- checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
252
-
253
- [[package]]
254
- name = "libc"
255
- version = "0.2.147"
256
- source = "registry+https://github.com/rust-lang/crates.io-index"
257
- checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
258
-
259
- [[package]]
260
- name = "libloading"
261
- version = "0.7.4"
262
- source = "registry+https://github.com/rust-lang/crates.io-index"
263
- checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
264
- dependencies = [
265
- "cfg-if",
266
- "winapi",
267
- ]
268
-
269
- [[package]]
270
- name = "linux-raw-sys"
271
- version = "0.4.3"
272
- source = "registry+https://github.com/rust-lang/crates.io-index"
273
- checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
274
-
275
- [[package]]
276
- name = "magnus"
277
- version = "0.6.0"
278
- source = "registry+https://github.com/rust-lang/crates.io-index"
279
- checksum = "68e9585bfe236e88e6b10b6d8eb5349bd0e0009f3f9dff8d2e99a82601b33743"
280
- dependencies = [
281
- "magnus-macros",
282
- "rb-sys",
283
- "rb-sys-env",
284
- "seq-macro",
285
- ]
286
-
287
- [[package]]
288
- name = "magnus-macros"
289
- version = "0.6.0"
290
- source = "registry+https://github.com/rust-lang/crates.io-index"
291
- checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
292
- dependencies = [
293
- "proc-macro2",
294
- "quote",
295
- "syn",
296
- ]
297
-
298
- [[package]]
299
- name = "memchr"
300
- version = "2.5.0"
301
- source = "registry+https://github.com/rust-lang/crates.io-index"
302
- checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
303
-
304
- [[package]]
305
- name = "memmap2"
306
- version = "0.5.10"
307
- source = "registry+https://github.com/rust-lang/crates.io-index"
308
- checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
309
- dependencies = [
310
- "libc",
311
- ]
312
-
313
- [[package]]
314
- name = "memoffset"
315
- version = "0.6.5"
316
- source = "registry+https://github.com/rust-lang/crates.io-index"
317
- checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
318
- dependencies = [
319
- "autocfg",
320
- ]
321
-
322
- [[package]]
323
- name = "minimal-lexical"
324
- version = "0.2.1"
325
- source = "registry+https://github.com/rust-lang/crates.io-index"
326
- checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
327
-
328
- [[package]]
329
- name = "nix"
330
- version = "0.25.1"
331
- source = "registry+https://github.com/rust-lang/crates.io-index"
332
- checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
333
- dependencies = [
334
- "autocfg",
335
- "bitflags 1.3.2",
336
- "cfg-if",
337
- "libc",
338
- "memoffset",
339
- "pin-utils",
340
- ]
341
-
342
- [[package]]
343
- name = "nom"
344
- version = "7.1.3"
345
- source = "registry+https://github.com/rust-lang/crates.io-index"
346
- checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
347
- dependencies = [
348
- "memchr",
349
- "minimal-lexical",
350
- ]
351
-
352
- [[package]]
353
- name = "once_cell"
354
- version = "1.17.1"
355
- source = "registry+https://github.com/rust-lang/crates.io-index"
356
- checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
357
-
358
- [[package]]
359
- name = "peeking_take_while"
360
- version = "0.1.2"
361
- source = "registry+https://github.com/rust-lang/crates.io-index"
362
- checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
363
-
364
- [[package]]
365
- name = "pin-utils"
366
- version = "0.1.0"
367
- source = "registry+https://github.com/rust-lang/crates.io-index"
368
- checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
369
-
370
- [[package]]
371
- name = "ppv-lite86"
372
- version = "0.2.17"
373
- source = "registry+https://github.com/rust-lang/crates.io-index"
374
- checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
375
-
376
- [[package]]
377
- name = "proc-macro2"
378
- version = "1.0.56"
379
- source = "registry+https://github.com/rust-lang/crates.io-index"
380
- checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
381
- dependencies = [
382
- "unicode-ident",
383
- ]
384
-
385
- [[package]]
386
- name = "quote"
387
- version = "1.0.26"
388
- source = "registry+https://github.com/rust-lang/crates.io-index"
389
- checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
390
- dependencies = [
391
- "proc-macro2",
392
- ]
393
-
394
- [[package]]
395
- name = "rand"
396
- version = "0.8.5"
397
- source = "registry+https://github.com/rust-lang/crates.io-index"
398
- checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
399
- dependencies = [
400
- "libc",
401
- "rand_chacha",
402
- "rand_core",
403
- ]
404
-
405
- [[package]]
406
- name = "rand_chacha"
407
- version = "0.3.1"
408
- source = "registry+https://github.com/rust-lang/crates.io-index"
409
- checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
410
- dependencies = [
411
- "ppv-lite86",
412
- "rand_core",
413
- ]
414
-
415
- [[package]]
416
- name = "rand_core"
417
- version = "0.6.4"
418
- source = "registry+https://github.com/rust-lang/crates.io-index"
419
- checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
420
- dependencies = [
421
- "getrandom",
422
- ]
423
-
424
- [[package]]
425
- name = "rb-sys"
426
- version = "0.9.86"
427
- source = "registry+https://github.com/rust-lang/crates.io-index"
428
- checksum = "7285f2a7b92f58ab198e3fd59a71d2861478f9c4642f41e83582385818941697"
429
- dependencies = [
430
- "rb-sys-build",
431
- ]
432
-
433
- [[package]]
434
- name = "rb-sys-build"
435
- version = "0.9.86"
436
- source = "registry+https://github.com/rust-lang/crates.io-index"
437
- checksum = "71583945f94dabb6c0dfa63f1b71e929c1901e1e288ef3739ab8bed3b7069550"
438
- dependencies = [
439
- "bindgen",
440
- "lazy_static",
441
- "proc-macro2",
442
- "quote",
443
- "regex",
444
- "shell-words",
445
- "syn",
446
- ]
447
-
448
- [[package]]
449
- name = "rb-sys-env"
450
- version = "0.1.2"
451
- source = "registry+https://github.com/rust-lang/crates.io-index"
452
- checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
453
-
454
- [[package]]
455
- name = "redox_syscall"
456
- version = "0.3.5"
457
- source = "registry+https://github.com/rust-lang/crates.io-index"
458
- checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
459
- dependencies = [
460
- "bitflags 1.3.2",
461
- ]
462
-
463
- [[package]]
464
- name = "regex"
465
- version = "1.7.3"
466
- source = "registry+https://github.com/rust-lang/crates.io-index"
467
- checksum = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d"
468
- dependencies = [
469
- "aho-corasick",
470
- "memchr",
471
- "regex-syntax",
472
- ]
473
-
474
- [[package]]
475
- name = "regex-automata"
476
- version = "0.3.4"
477
- source = "registry+https://github.com/rust-lang/crates.io-index"
478
- checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294"
479
-
480
- [[package]]
481
- name = "regex-syntax"
482
- version = "0.6.29"
483
- source = "registry+https://github.com/rust-lang/crates.io-index"
484
- checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
485
-
486
- [[package]]
487
- name = "rustc-hash"
488
- version = "1.1.0"
489
- source = "registry+https://github.com/rust-lang/crates.io-index"
490
- checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
491
-
492
- [[package]]
493
- name = "rustix"
494
- version = "0.38.4"
495
- source = "registry+https://github.com/rust-lang/crates.io-index"
496
- checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
497
- dependencies = [
498
- "bitflags 2.3.3",
499
- "errno",
500
- "libc",
501
- "linux-raw-sys",
502
- "windows-sys",
503
- ]
504
-
505
- [[package]]
506
- name = "ryu"
507
- version = "1.0.13"
508
- source = "registry+https://github.com/rust-lang/crates.io-index"
509
- checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
510
-
511
- [[package]]
512
- name = "seq-macro"
513
- version = "0.3.3"
514
- source = "registry+https://github.com/rust-lang/crates.io-index"
515
- checksum = "e6b44e8fc93a14e66336d230954dda83d18b4605ccace8fe09bc7514a71ad0bc"
516
-
517
- [[package]]
518
- name = "serde"
519
- version = "1.0.164"
520
- source = "registry+https://github.com/rust-lang/crates.io-index"
521
- checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
522
- dependencies = [
523
- "serde_derive",
524
- ]
525
-
526
- [[package]]
527
- name = "serde_derive"
528
- version = "1.0.164"
529
- source = "registry+https://github.com/rust-lang/crates.io-index"
530
- checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
531
- dependencies = [
532
- "proc-macro2",
533
- "quote",
534
- "syn",
535
- ]
536
-
537
- [[package]]
538
- name = "serde_json"
539
- version = "1.0.99"
540
- source = "registry+https://github.com/rust-lang/crates.io-index"
541
- checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3"
542
- dependencies = [
543
- "itoa",
544
- "ryu",
545
- "serde",
546
- ]
547
-
548
- [[package]]
549
- name = "sha2"
550
- version = "0.10.7"
551
- source = "registry+https://github.com/rust-lang/crates.io-index"
552
- checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
553
- dependencies = [
554
- "cfg-if",
555
- "cpufeatures",
556
- "digest",
557
- ]
558
-
559
- [[package]]
560
- name = "shell-words"
561
- version = "1.1.0"
562
- source = "registry+https://github.com/rust-lang/crates.io-index"
563
- checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
564
-
565
- [[package]]
566
- name = "shlex"
567
- version = "1.1.0"
568
- source = "registry+https://github.com/rust-lang/crates.io-index"
569
- checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
570
-
571
- [[package]]
572
- name = "smallvec"
573
- version = "1.11.0"
574
- source = "registry+https://github.com/rust-lang/crates.io-index"
575
- checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
576
- dependencies = [
577
- "serde",
578
- ]
579
-
580
- [[package]]
581
- name = "syn"
582
- version = "2.0.13"
583
- source = "registry+https://github.com/rust-lang/crates.io-index"
584
- checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec"
585
- dependencies = [
586
- "proc-macro2",
587
- "quote",
588
- "unicode-ident",
589
- ]
590
-
591
- [[package]]
592
- name = "tempfile"
593
- version = "3.7.0"
594
- source = "registry+https://github.com/rust-lang/crates.io-index"
595
- checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
596
- dependencies = [
597
- "cfg-if",
598
- "fastrand",
599
- "redox_syscall",
600
- "rustix",
601
- "windows-sys",
602
- ]
603
-
604
- [[package]]
605
- name = "thiserror"
606
- version = "1.0.40"
607
- source = "registry+https://github.com/rust-lang/crates.io-index"
608
- checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
609
- dependencies = [
610
- "thiserror-impl",
611
- ]
612
-
613
- [[package]]
614
- name = "thiserror-impl"
615
- version = "1.0.40"
616
- source = "registry+https://github.com/rust-lang/crates.io-index"
617
- checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
618
- dependencies = [
619
- "proc-macro2",
620
- "quote",
621
- "syn",
622
- ]
623
-
624
- [[package]]
625
- name = "typenum"
626
- version = "1.16.0"
627
- source = "registry+https://github.com/rust-lang/crates.io-index"
628
- checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
629
-
630
- [[package]]
631
- name = "unicode-ident"
632
- version = "1.0.8"
633
- source = "registry+https://github.com/rust-lang/crates.io-index"
634
- checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
635
-
636
- [[package]]
637
- name = "version_check"
638
- version = "0.9.4"
639
- source = "registry+https://github.com/rust-lang/crates.io-index"
640
- checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
641
-
642
- [[package]]
643
- name = "wasi"
644
- version = "0.11.0+wasi-snapshot-preview1"
645
- source = "registry+https://github.com/rust-lang/crates.io-index"
646
- checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
647
-
648
- [[package]]
649
- name = "winapi"
650
- version = "0.3.9"
651
- source = "registry+https://github.com/rust-lang/crates.io-index"
652
- checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
653
- dependencies = [
654
- "winapi-i686-pc-windows-gnu",
655
- "winapi-x86_64-pc-windows-gnu",
656
- ]
657
-
658
- [[package]]
659
- name = "winapi-i686-pc-windows-gnu"
660
- version = "0.4.0"
661
- source = "registry+https://github.com/rust-lang/crates.io-index"
662
- checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
663
-
664
- [[package]]
665
- name = "winapi-x86_64-pc-windows-gnu"
666
- version = "0.4.0"
667
- source = "registry+https://github.com/rust-lang/crates.io-index"
668
- checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
669
-
670
- [[package]]
671
- name = "windows-sys"
672
- version = "0.48.0"
673
- source = "registry+https://github.com/rust-lang/crates.io-index"
674
- checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
675
- dependencies = [
676
- "windows-targets",
677
- ]
678
-
679
- [[package]]
680
- name = "windows-targets"
681
- version = "0.48.0"
682
- source = "registry+https://github.com/rust-lang/crates.io-index"
683
- checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
684
- dependencies = [
685
- "windows_aarch64_gnullvm",
686
- "windows_aarch64_msvc",
687
- "windows_i686_gnu",
688
- "windows_i686_msvc",
689
- "windows_x86_64_gnu",
690
- "windows_x86_64_gnullvm",
691
- "windows_x86_64_msvc",
692
- ]
693
-
694
- [[package]]
695
- name = "windows_aarch64_gnullvm"
696
- version = "0.48.0"
697
- source = "registry+https://github.com/rust-lang/crates.io-index"
698
- checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
699
-
700
- [[package]]
701
- name = "windows_aarch64_msvc"
702
- version = "0.48.0"
703
- source = "registry+https://github.com/rust-lang/crates.io-index"
704
- checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
705
-
706
- [[package]]
707
- name = "windows_i686_gnu"
708
- version = "0.48.0"
709
- source = "registry+https://github.com/rust-lang/crates.io-index"
710
- checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
711
-
712
- [[package]]
713
- name = "windows_i686_msvc"
714
- version = "0.48.0"
715
- source = "registry+https://github.com/rust-lang/crates.io-index"
716
- checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
717
-
718
- [[package]]
719
- name = "windows_x86_64_gnu"
720
- version = "0.48.0"
721
- source = "registry+https://github.com/rust-lang/crates.io-index"
722
- checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
723
-
724
- [[package]]
725
- name = "windows_x86_64_gnullvm"
726
- version = "0.48.0"
727
- source = "registry+https://github.com/rust-lang/crates.io-index"
728
- checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
729
-
730
- [[package]]
731
- name = "windows_x86_64_msvc"
732
- version = "0.48.0"
733
- source = "registry+https://github.com/rust-lang/crates.io-index"
734
- checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
Binary file
Binary file