fmt: group_imports = "StdExternalCrate"

This commit is contained in:
2026-03-08 16:32:35 +08:00
parent e4004ccb6d
commit 7a7229d70e
29 changed files with 81 additions and 61 deletions

View File

@@ -1,7 +1,8 @@
mod utils; mod utils;
use criterion::{Criterion, criterion_group, criterion_main};
use std::hint::black_box; use std::hint::black_box;
use criterion::{Criterion, criterion_group, criterion_main};
use utils::eval; use utils::eval;
fn bench_arithmetic(c: &mut Criterion) { fn bench_arithmetic(c: &mut Criterion) {

View File

@@ -1,7 +1,8 @@
mod utils; mod utils;
use criterion::{Criterion, criterion_group, criterion_main};
use std::hint::black_box; use std::hint::black_box;
use criterion::{Criterion, criterion_group, criterion_main};
use utils::eval; use utils::eval;
fn bench_builtin_math(c: &mut Criterion) { fn bench_builtin_math(c: &mut Criterion) {

View File

@@ -1,8 +1,9 @@
mod utils; mod utils;
use std::hint::black_box;
use criterion::{Criterion, criterion_group, criterion_main}; use criterion::{Criterion, criterion_group, criterion_main};
use nix_js::context::Context; use nix_js::context::Context;
use std::hint::black_box;
use utils::compile; use utils::compile;
fn bench_parse_and_downgrade(c: &mut Criterion) { fn bench_parse_and_downgrade(c: &mut Criterion) {

View File

@@ -1,7 +1,8 @@
mod utils; mod utils;
use criterion::{Criterion, criterion_group, criterion_main};
use std::hint::black_box; use std::hint::black_box;
use criterion::{Criterion, criterion_group, criterion_main};
use utils::eval; use utils::eval;
fn bench_non_recursive(c: &mut Criterion) { fn bench_non_recursive(c: &mut Criterion) {

View File

@@ -8,7 +8,7 @@ use hashbrown::{DefaultHashBuilder, HashMap, HashSet, HashTable};
use rnix::TextRange; use rnix::TextRange;
use string_interner::DefaultStringInterner; use string_interner::DefaultStringInterner;
use crate::bytecode::{self, BytecodeContext, Bytecode, Constant}; use crate::bytecode::{self, Bytecode, BytecodeContext, Constant};
use crate::codegen::{CodegenContext, compile}; use crate::codegen::{CodegenContext, compile};
use crate::disassembler::{Disassembler, DisassemblerContext}; use crate::disassembler::{Disassembler, DisassemblerContext};
use crate::downgrade::*; use crate::downgrade::*;
@@ -383,11 +383,7 @@ impl Ctx {
Ok(bytecode) Ok(bytecode)
} }
fn compile_bytecode_scoped( fn compile_bytecode_scoped(&mut self, source: Source, scope: Vec<String>) -> Result<Bytecode> {
&mut self,
source: Source,
scope: Vec<String>,
) -> Result<Bytecode> {
let scope = Scope::ScopedImport( let scope = Scope::ScopedImport(
scope scope
.into_iter() .into_iter()
@@ -477,11 +473,7 @@ impl RuntimeContext for Ctx {
fn compile_bytecode(&mut self, source: Source) -> Result<Bytecode> { fn compile_bytecode(&mut self, source: Source) -> Result<Bytecode> {
self.compile_bytecode(source) self.compile_bytecode(source)
} }
fn compile_bytecode_scoped( fn compile_bytecode_scoped(&mut self, source: Source, scope: Vec<String>) -> Result<Bytecode> {
&mut self,
source: Source,
scope: Vec<String>,
) -> Result<Bytecode> {
self.compile_bytecode_scoped(source, scope) self.compile_bytecode_scoped(source, scope)
} }
fn get_source(&self, id: usize) -> Source { fn get_source(&self, id: usize) -> Source {
@@ -494,11 +486,11 @@ impl RuntimeContext for Ctx {
let spans = unsafe { &*self.spans.get() }; let spans = unsafe { &*self.spans.get() };
spans[id] spans[id]
} }
fn take_unsynced(&mut self) -> (Vec<String>, Vec<Constant>, usize, usize) { fn get_unsynced(&mut self) -> (&[String], &[Constant], usize, usize) {
let strings_base = self.synced_strings; let strings_base = self.synced_strings;
let constants_base = self.synced_constants; let constants_base = self.synced_constants;
let new_strings = self.global_strings[strings_base..].to_vec(); let new_strings = &self.global_strings[strings_base..];
let new_constants = self.global_constants[constants_base..].to_vec(); let new_constants = &self.global_constants[constants_base..];
self.synced_strings = self.global_strings.len(); self.synced_strings = self.global_strings.len();
self.synced_constants = self.global_constants.len(); self.synced_constants = self.global_constants.len();
(new_strings, new_constants, strings_base, constants_base) (new_strings, new_constants, strings_base, constants_base)
@@ -507,10 +499,14 @@ impl RuntimeContext for Ctx {
impl DisassemblerContext for Ctx { impl DisassemblerContext for Ctx {
fn lookup_string(&self, id: u32) -> &str { fn lookup_string(&self, id: u32) -> &str {
self.global_strings.get(id as usize).expect("string not found") self.global_strings
.get(id as usize)
.expect("string not found")
} }
fn lookup_constant(&self, id: u32) -> &Constant { fn lookup_constant(&self, id: u32) -> &Constant {
self.global_constants.get(id as usize).expect("constant not found") self.global_constants
.get(id as usize)
.expect("constant not found")
} }
} }

View File

@@ -25,8 +25,8 @@ impl<'id: 'ir, 'ir, Ctx: DowngradeContext<'id, 'ir>, T> Require<'id, 'ir, Ctx, T
} }
} }
impl<'id: 'ir, 'ir, Ctx: DowngradeContext<'id, 'ir>, T, E: std::fmt::Display> Require<'id, 'ir, Ctx, T> impl<'id: 'ir, 'ir, Ctx: DowngradeContext<'id, 'ir>, T, E: std::fmt::Display>
for std::result::Result<T, E> Require<'id, 'ir, Ctx, T> for std::result::Result<T, E>
{ {
#[inline] #[inline]
fn require(self, ctx: &Ctx, span: TextRange) -> Result<T> { fn require(self, ctx: &Ctx, span: TextRange) -> Result<T> {

View File

@@ -1,6 +1,7 @@
use reqwest::blocking::Client;
use std::time::Duration; use std::time::Duration;
use reqwest::blocking::Client;
pub struct Downloader { pub struct Downloader {
client: Client, client: Client,
} }

View File

@@ -1,9 +1,10 @@
#![allow(dead_code)] #![allow(dead_code)]
use std::path::PathBuf;
use std::time::{SystemTime, UNIX_EPOCH};
use rusqlite::{Connection, OptionalExtension, params}; use rusqlite::{Connection, OptionalExtension, params};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::path::PathBuf;
use std::time::{SystemTime, UNIX_EPOCH};
#[derive(Debug)] #[derive(Debug)]
pub enum CacheError { pub enum CacheError {

View File

@@ -1,5 +1,6 @@
use std::env; use std::env;
use std::io::IsTerminal; use std::io::IsTerminal;
use tracing_subscriber::{EnvFilter, Layer, fmt, layer::SubscriberExt, util::SubscriberInitExt}; use tracing_subscriber::{EnvFilter, Layer, fmt, layer::SubscriberExt, util::SubscriberInitExt};
pub fn init_logging() { pub fn init_logging() {

View File

@@ -1,8 +1,9 @@
use nix_nar::Encoder;
use sha2::{Digest, Sha256};
use std::io::Read; use std::io::Read;
use std::path::Path; use std::path::Path;
use nix_nar::Encoder;
use sha2::{Digest, Sha256};
use crate::error::{Error, Result}; use crate::error::{Error, Result};
pub fn compute_nar_hash(path: &Path) -> Result<[u8; 32]> { pub fn compute_nar_hash(path: &Path) -> Result<[u8; 32]> {
@@ -27,10 +28,12 @@ pub fn pack_nar(path: &Path) -> Result<Vec<u8>> {
#[cfg(test)] #[cfg(test)]
#[allow(clippy::unwrap_used)] #[allow(clippy::unwrap_used)]
mod tests { mod tests {
use super::*;
use std::fs; use std::fs;
use tempfile::TempDir; use tempfile::TempDir;
use super::*;
#[test_log::test] #[test_log::test]
fn test_simple_file() { fn test_simple_file() {
let temp = TempDir::new().unwrap(); let temp = TempDir::new().unwrap();

View File

@@ -26,15 +26,11 @@ pub(crate) trait RuntimeContext: 'static {
fn compile(&mut self, source: Source) -> Result<String>; fn compile(&mut self, source: Source) -> Result<String>;
fn compile_scoped(&mut self, source: Source, scope: Vec<String>) -> Result<String>; fn compile_scoped(&mut self, source: Source, scope: Vec<String>) -> Result<String>;
fn compile_bytecode(&mut self, source: Source) -> Result<Bytecode>; fn compile_bytecode(&mut self, source: Source) -> Result<Bytecode>;
fn compile_bytecode_scoped( fn compile_bytecode_scoped(&mut self, source: Source, scope: Vec<String>) -> Result<Bytecode>;
&mut self,
source: Source,
scope: Vec<String>,
) -> Result<Bytecode>;
fn get_source(&self, id: usize) -> Source; fn get_source(&self, id: usize) -> Source;
fn get_store(&self) -> &DaemonStore; fn get_store(&self) -> &DaemonStore;
fn get_span(&self, id: usize) -> (usize, rnix::TextRange); fn get_span(&self, id: usize) -> (usize, rnix::TextRange);
fn take_unsynced(&mut self) -> (Vec<String>, Vec<Constant>, usize, usize); fn get_unsynced(&mut self) -> (&[String], &[Constant], usize, usize);
} }
pub(crate) trait OpStateExt<Ctx: RuntimeContext> { pub(crate) trait OpStateExt<Ctx: RuntimeContext> {
@@ -465,7 +461,7 @@ fn sync_global_tables<Ctx: RuntimeContext>(
cached: &CachedFunctions, cached: &CachedFunctions,
ctx: &mut Ctx, ctx: &mut Ctx,
) { ) {
let (new_strings, new_constants, strings_base, constants_base) = ctx.take_unsynced(); let (new_strings, new_constants, strings_base, constants_base) = ctx.get_unsynced();
if !new_strings.is_empty() { if !new_strings.is_empty() {
let s_array = v8::Local::new(scope, &cached.strings_array); let s_array = v8::Local::new(scope, &cached.strings_array);

View File

@@ -2,6 +2,14 @@
// Alias for the future `!` type. // Alias for the future `!` type.
use core::convert::Infallible as Never; use core::convert::Infallible as Never;
use std::cell::RefCell;
use std::net::SocketAddr;
use std::pin::pin;
use std::process;
use std::rc::Rc;
use std::task::Poll;
use std::thread;
use deno_core::InspectorMsg; use deno_core::InspectorMsg;
use deno_core::InspectorSessionChannels; use deno_core::InspectorSessionChannels;
use deno_core::InspectorSessionKind; use deno_core::InspectorSessionKind;
@@ -24,13 +32,6 @@ use fastwebsockets::WebSocket;
use hashbrown::HashMap; use hashbrown::HashMap;
use hyper::body::Bytes; use hyper::body::Bytes;
use hyper_util::rt::TokioIo; use hyper_util::rt::TokioIo;
use std::cell::RefCell;
use std::net::SocketAddr;
use std::pin::pin;
use std::process;
use std::rc::Rc;
use std::task::Poll;
use std::thread;
use tokio::net::TcpListener; use tokio::net::TcpListener;
use tokio::sync::broadcast; use tokio::sync::broadcast;
use uuid::Uuid; use uuid::Uuid;

View File

@@ -87,11 +87,12 @@ impl Store for DaemonStore {
recursive: bool, recursive: bool,
references: Vec<String>, references: Vec<String>,
) -> Result<String> { ) -> Result<String> {
use std::fs;
use nix_compat::nix_daemon::types::AddToStoreNarRequest; use nix_compat::nix_daemon::types::AddToStoreNarRequest;
use nix_compat::nixhash::{CAHash, NixHash}; use nix_compat::nixhash::{CAHash, NixHash};
use nix_compat::store_path::{StorePath, build_ca_path}; use nix_compat::store_path::{StorePath, build_ca_path};
use sha2::{Digest, Sha256}; use sha2::{Digest, Sha256};
use std::fs;
use tempfile::NamedTempFile; use tempfile::NamedTempFile;
let temp_file = NamedTempFile::new() let temp_file = NamedTempFile::new()
@@ -237,11 +238,12 @@ impl Store for DaemonStore {
content: &str, content: &str,
references: Vec<String>, references: Vec<String>,
) -> Result<String> { ) -> Result<String> {
use std::fs;
use nix_compat::nix_daemon::types::AddToStoreNarRequest; use nix_compat::nix_daemon::types::AddToStoreNarRequest;
use nix_compat::nixhash::CAHash; use nix_compat::nixhash::CAHash;
use nix_compat::store_path::{StorePath, build_text_path}; use nix_compat::store_path::{StorePath, build_text_path};
use sha2::{Digest, Sha256}; use sha2::{Digest, Sha256};
use std::fs;
use tempfile::NamedTempFile; use tempfile::NamedTempFile;
let temp_file = NamedTempFile::new() let temp_file = NamedTempFile::new()

View File

@@ -1,7 +1,6 @@
use core::fmt::{Debug, Display, Formatter, Result as FmtResult}; use core::fmt::{Debug, Display, Formatter, Result as FmtResult};
use core::hash::Hash; use core::hash::Hash;
use core::ops::Deref; use core::ops::Deref;
use std::borrow::Cow; use std::borrow::Cow;
use std::collections::BTreeMap; use std::collections::BTreeMap;
use std::ops::DerefMut; use std::ops::DerefMut;

View File

@@ -1,6 +1,7 @@
use crate::utils::{eval, eval_result};
use nix_js::value::Value; use nix_js::value::Value;
use crate::utils::{eval, eval_result};
#[test_log::test] #[test_log::test]
fn arithmetic() { fn arithmetic() {
assert_eq!(eval("1 + 1"), Value::Int(2)); assert_eq!(eval("1 + 1"), Value::Int(2));

View File

@@ -1,7 +1,9 @@
use crate::utils::eval;
use nix_js::value::{AttrSet, List, Value};
use std::collections::BTreeMap; use std::collections::BTreeMap;
use nix_js::value::{AttrSet, List, Value};
use crate::utils::eval;
#[test_log::test] #[test_log::test]
fn builtins_accessible() { fn builtins_accessible() {
let result = eval("builtins"); let result = eval("builtins");

View File

@@ -1,6 +1,7 @@
use crate::utils::eval_result;
use nix_js::value::Value; use nix_js::value::Value;
use crate::utils::eval_result;
#[test_log::test] #[test_log::test]
fn to_file_simple() { fn to_file_simple() {
let result = let result =

View File

@@ -1,6 +1,7 @@
use crate::utils::{eval_deep, eval_deep_result};
use nix_js::value::Value; use nix_js::value::Value;
use crate::utils::{eval_deep, eval_deep_result};
#[test_log::test] #[test_log::test]
fn add_operator_preserves_derivation_context() { fn add_operator_preserves_derivation_context() {
let result = eval_deep( let result = eval_deep(

View File

@@ -1,6 +1,7 @@
use crate::utils::{eval, eval_result};
use nix_js::value::{List, Value}; use nix_js::value::{List, Value};
use crate::utils::{eval, eval_result};
#[test_log::test] #[test_log::test]
fn true_literal() { fn true_literal() {
assert_eq!(eval("true"), Value::Bool(true)); assert_eq!(eval("true"), Value::Bool(true));

View File

@@ -1,6 +1,7 @@
use crate::utils::{eval, eval_result};
use nix_js::value::Value; use nix_js::value::Value;
use crate::utils::{eval, eval_result};
#[test_log::test] #[test_log::test]
fn required_parameters() { fn required_parameters() {
assert_eq!(eval("({ a, b }: a + b) { a = 1; b = 2; }"), Value::Int(3)); assert_eq!(eval("({ a, b }: a + b) { a = 1; b = 2; }"), Value::Int(3));

View File

@@ -1,8 +1,9 @@
use crate::utils::{eval, eval_result};
use nix_js::context::Context; use nix_js::context::Context;
use nix_js::error::Source; use nix_js::error::Source;
use nix_js::value::Value; use nix_js::value::Value;
use crate::utils::{eval, eval_result};
#[test_log::test] #[test_log::test]
fn import_absolute_path() { fn import_absolute_path() {
let temp_dir = tempfile::tempdir().unwrap(); let temp_dir = tempfile::tempdir().unwrap();

View File

@@ -1,6 +1,7 @@
use crate::utils::eval;
use nix_js::value::Value; use nix_js::value::Value;
use crate::utils::eval;
#[test_log::test] #[test_log::test]
fn large_i64_max() { fn large_i64_max() {
assert_eq!(eval("9223372036854775807"), Value::Int(9223372036854775807)); assert_eq!(eval("9223372036854775807"), Value::Int(9223372036854775807));

View File

@@ -1,7 +1,9 @@
use crate::utils::eval;
use nix_js::value::{AttrSet, List, Symbol, Value};
use std::collections::BTreeMap; use std::collections::BTreeMap;
use nix_js::value::{AttrSet, List, Symbol, Value};
use crate::utils::eval;
#[test_log::test] #[test_log::test]
fn addition() { fn addition() {
assert_eq!(eval("1 + 1"), Value::Int(2)); assert_eq!(eval("1 + 1"), Value::Int(2));

View File

@@ -1,6 +1,7 @@
use crate::utils::{eval, eval_result};
use nix_js::value::Value; use nix_js::value::Value;
use crate::utils::{eval, eval_result};
#[test_log::test] #[test_log::test]
fn path_type_of() { fn path_type_of() {
let result = eval("builtins.typeOf ./foo"); let result = eval("builtins.typeOf ./foo");

View File

@@ -1,6 +1,6 @@
use crate::utils::eval;
use nix_js::value::{List, Value}; use nix_js::value::{List, Value};
use crate::utils::eval;
use crate::utils::eval_result; use crate::utils::eval_result;
#[test_log::test] #[test_log::test]

View File

@@ -1,7 +1,8 @@
use crate::utils::eval_result;
use nix_js::context::Context; use nix_js::context::Context;
use nix_js::value::Value; use nix_js::value::Value;
use crate::utils::eval_result;
fn eval(expr: &str) -> Value { fn eval(expr: &str) -> Value {
eval_result(expr).unwrap_or_else(|e| panic!("{}", e)) eval_result(expr).unwrap_or_else(|e| panic!("{}", e))
} }

View File

@@ -1,6 +1,7 @@
use crate::utils::eval;
use nix_js::value::Value; use nix_js::value::Value;
use crate::utils::eval;
#[test_log::test] #[test_log::test]
fn non_recursive_bindings() { fn non_recursive_bindings() {
assert_eq!(eval("let x = 1; y = 2; z = x + y; in z"), Value::Int(3)); assert_eq!(eval("let x = 1; y = 2; z = x + y; in z"), Value::Int(3));

View File

@@ -1,6 +1,7 @@
use crate::utils::{eval, eval_result};
use nix_js::value::Value; use nix_js::value::Value;
use crate::utils::{eval, eval_result};
#[test_log::test] #[test_log::test]
fn string_returns_as_is() { fn string_returns_as_is() {
assert_eq!( assert_eq!(

1
rustfmt.toml Normal file
View File

@@ -0,0 +1 @@
group_imports = "StdExternalCrate"