From 80f37a416bf74aeab8c8979b4105b890976b05fa Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Wed, 20 Apr 2022 15:57:28 +0000 Subject: [PATCH] style: enforce import style --- --- a/.rustfmt.toml +++ b/.rustfmt.toml @@ -1 +1,3 @@ hard_tabs = true +imports_granularity = "crate" +group_imports = "stdexternalcrate" --- a/bindings/jsonnet/src/import.rs +++ b/bindings/jsonnet/src/import.rs @@ -1,9 +1,5 @@ //! Import resolution manipulation utilities -use jrsonnet_evaluator::{ - error::{Error::*, Result}, - throw, EvaluationState, ImportResolver, -}; use std::{ any::Any, cell::RefCell, @@ -17,6 +13,11 @@ rc::Rc, }; +use jrsonnet_evaluator::{ + error::{Error::*, Result}, + throw, EvaluationState, ImportResolver, +}; + pub type JsonnetImportCallback = unsafe extern "C" fn( ctx: *mut c_void, base: *const c_char, --- a/bindings/jsonnet/src/interop.rs +++ b/bindings/jsonnet/src/interop.rs @@ -1,12 +1,14 @@ //! Jrsonnet specific additional binding helpers -use crate::{import::jsonnet_import_callback, native::jsonnet_native_callback}; -use jrsonnet_evaluator::{EvaluationState, Val}; use std::{ ffi::c_void, os::raw::{c_char, c_int}, }; +use jrsonnet_evaluator::{EvaluationState, Val}; + +use crate::{import::jsonnet_import_callback, native::jsonnet_native_callback}; + extern "C" { pub fn _jrsonnet_static_import_callback( ctx: *mut c_void, --- a/bindings/jsonnet/src/lib.rs +++ b/bindings/jsonnet/src/lib.rs @@ -8,8 +8,6 @@ pub mod val_modify; pub mod vars_tlas; -use import::NativeImportResolver; -use jrsonnet_evaluator::{EvaluationState, IStr, ManifestFormat, Val}; use std::{ alloc::Layout, ffi::{CStr, CString}, @@ -17,6 +15,9 @@ path::PathBuf, }; +use import::NativeImportResolver; +use jrsonnet_evaluator::{EvaluationState, IStr, ManifestFormat, Val}; + /// WASM stub #[cfg(target_arch = "wasm32")] #[no_mangle] --- a/bindings/jsonnet/src/native.rs +++ b/bindings/jsonnet/src/native.rs @@ -1,3 +1,11 @@ +use std::{ + convert::TryFrom, + ffi::{c_void, CStr}, + os::raw::{c_char, c_int}, + path::Path, + rc::Rc, +}; + use gcmodule::Cc; use jrsonnet_evaluator::{ error::{Error, LocError}, @@ -5,13 +13,6 @@ gc::TraceBox, native::{NativeCallback, NativeCallbackHandler}, EvaluationState, IStr, Val, -}; -use std::{ - convert::TryFrom, - ffi::{c_void, CStr}, - os::raw::{c_char, c_int}, - path::Path, - rc::Rc, }; type JsonnetNativeCallback = unsafe extern "C" fn( --- a/bindings/jsonnet/src/val_extract.rs +++ b/bindings/jsonnet/src/val_extract.rs @@ -1,12 +1,12 @@ //! Extract values from VM -use jrsonnet_evaluator::{EvaluationState, Val}; - use std::{ ffi::CString, os::raw::{c_char, c_double, c_int}, }; +use jrsonnet_evaluator::{EvaluationState, Val}; + #[no_mangle] pub extern "C" fn jsonnet_json_extract_string(_vm: &EvaluationState, v: &Val) -> *mut c_char { match v { --- a/bindings/jsonnet/src/val_make.rs +++ b/bindings/jsonnet/src/val_make.rs @@ -1,12 +1,13 @@ //! Create values in VM -use gcmodule::Cc; -use jrsonnet_evaluator::{ArrValue, EvaluationState, ObjValue, Val}; use std::{ ffi::CStr, os::raw::{c_char, c_double, c_int}, }; +use gcmodule::Cc; +use jrsonnet_evaluator::{val::ArrValue, EvaluationState, ObjValue, Val}; + /// # Safety /// /// This function is safe, if received v is a pointer to normal C string --- a/bindings/jsonnet/src/val_modify.rs +++ b/bindings/jsonnet/src/val_modify.rs @@ -2,10 +2,11 @@ //! Only tested with variables, which haven't altered by code before appearing here //! In jrsonnet every value is immutable, and this code is probally broken +use std::{ffi::CStr, os::raw::c_char}; + use gcmodule::Cc; -use jrsonnet_evaluator::{ArrValue, EvaluationState, LazyBinding, LazyVal, ObjMember, Val}; +use jrsonnet_evaluator::{val::ArrValue, EvaluationState, LazyBinding, LazyVal, ObjMember, Val}; use jrsonnet_parser::Visibility; -use std::{ffi::CStr, os::raw::c_char}; /// # Safety /// --- a/bindings/jsonnet/src/vars_tlas.rs +++ b/bindings/jsonnet/src/vars_tlas.rs @@ -1,8 +1,9 @@ //! Manipulate external variables and top level arguments -use jrsonnet_evaluator::EvaluationState; use std::{ffi::CStr, os::raw::c_char}; +use jrsonnet_evaluator::EvaluationState; + /// # Safety #[no_mangle] pub unsafe extern "C" fn jsonnet_ext_var( --- a/cmds/jrsonnet/src/main.rs +++ b/cmds/jrsonnet/src/main.rs @@ -1,13 +1,13 @@ +use std::{ + fs::{create_dir_all, File}, + io::{Read, Write}, + path::PathBuf, +}; + use clap::{AppSettings, IntoApp, Parser}; use clap_complete::Shell; use jrsonnet_cli::{ConfigureState, GcOpts, GeneralOpts, InputOpts, ManifestOpts, OutputOpts}; use jrsonnet_evaluator::{error::LocError, EvaluationState}; -use std::{ - fs::{create_dir_all, File}, - io::Read, - io::Write, - path::PathBuf, -}; #[cfg(feature = "mimalloc")] #[global_allocator] --- a/crates/jrsonnet-cli/src/ext.rs +++ b/crates/jrsonnet-cli/src/ext.rs @@ -1,8 +1,10 @@ -use crate::ConfigureState; +use std::{fs::read_to_string, str::FromStr}; + use clap::Parser; use jrsonnet_evaluator::{error::Result, EvaluationState}; -use std::{fs::read_to_string, str::FromStr}; +use crate::ConfigureState; + #[derive(Clone)] pub struct ExtStr { pub name: String, --- a/crates/jrsonnet-cli/src/lib.rs +++ b/crates/jrsonnet-cli/src/lib.rs @@ -3,14 +3,14 @@ mod tla; mod trace; +use std::{env, path::PathBuf}; + +use clap::Parser; pub use ext::*; +use jrsonnet_evaluator::{error::Result, EvaluationState, FileImportResolver}; pub use manifest::*; pub use tla::*; pub use trace::*; - -use clap::Parser; -use jrsonnet_evaluator::{error::Result, EvaluationState, FileImportResolver}; -use std::{env, path::PathBuf}; pub trait ConfigureState { fn configure(&self, state: &EvaluationState) -> Result<()>; --- a/crates/jrsonnet-cli/src/manifest.rs +++ b/crates/jrsonnet-cli/src/manifest.rs @@ -1,8 +1,10 @@ -use crate::ConfigureState; +use std::{path::PathBuf, str::FromStr}; + use clap::Parser; use jrsonnet_evaluator::{error::Result, EvaluationState, ManifestFormat}; -use std::{path::PathBuf, str::FromStr}; +use crate::ConfigureState; + pub enum ManifestFormatName { /// Expect string as output, and write them directly String, --- a/crates/jrsonnet-cli/src/tla.rs +++ b/crates/jrsonnet-cli/src/tla.rs @@ -1,7 +1,8 @@ -use crate::{ConfigureState, ExtFile, ExtStr}; use clap::Parser; use jrsonnet_evaluator::{error::Result, EvaluationState}; +use crate::{ConfigureState, ExtFile, ExtStr}; + #[derive(Parser)] #[clap(next_help_heading = "TOP LEVEL ARGUMENTS")] pub struct TLAOpts { --- a/crates/jrsonnet-cli/src/trace.rs +++ b/crates/jrsonnet-cli/src/trace.rs @@ -1,12 +1,14 @@ -use crate::ConfigureState; +use std::str::FromStr; + use clap::Parser; use jrsonnet_evaluator::{ error::Result, trace::{CompactFormat, ExplainingFormat, PathResolver}, EvaluationState, }; -use std::str::FromStr; +use crate::ConfigureState; + #[derive(PartialEq)] pub enum TraceFormatName { Compact, --- a/crates/jrsonnet-evaluator/build.rs +++ b/crates/jrsonnet-evaluator/build.rs @@ -1,6 +1,3 @@ -use bincode::serialize; -use jrsonnet_parser::{parse, ParserSettings}; -use jrsonnet_stdlib::STDLIB_STR; use std::{ env, fs::File, @@ -8,6 +5,10 @@ path::{Path, PathBuf}, }; +use bincode::serialize; +use jrsonnet_parser::{parse, ParserSettings}; +use jrsonnet_stdlib::STDLIB_STR; + fn main() { let parsed = parse( STDLIB_STR, --- a/crates/jrsonnet-evaluator/src/builtin/format.rs +++ b/crates/jrsonnet-evaluator/src/builtin/format.rs @@ -1,13 +1,15 @@ //! faster std.format impl #![allow(clippy::too_many_arguments)] -use crate::{error::Error::*, throw, LocError, ObjValue, Result, Val}; +use std::convert::TryFrom; + use gcmodule::Trace; use jrsonnet_interner::IStr; use jrsonnet_types::ValType; -use std::convert::TryFrom; use thiserror::Error; +use crate::{error::Error::*, throw, LocError, ObjValue, Result, Val}; + #[derive(Debug, Clone, Error, Trace)] pub enum FormatError { #[error("truncated format code")] --- a/crates/jrsonnet-evaluator/src/builtin/manifest.rs +++ b/crates/jrsonnet-evaluator/src/builtin/manifest.rs @@ -1,7 +1,7 @@ -use crate::error::Error::*; -use crate::error::Result; -use crate::push_description_frame; -use crate::{throw, Val}; +use crate::{ + error::{Error::*, Result}, + push_description_frame, throw, Val, +}; #[derive(PartialEq, Clone, Copy)] pub enum ManifestType { --- a/crates/jrsonnet-evaluator/src/builtin/mod.rs +++ b/crates/jrsonnet-evaluator/src/builtin/mod.rs @@ -1,23 +1,25 @@ -use crate::function::{CallLocation, StaticBuiltin}; -use crate::typed::{Any, Bytes, PositiveF64, VecVal, M1}; -use crate::{ - builtin::manifest::{manifest_yaml_ex, ManifestYamlOptions}, - equals, - error::{Error::*, Result}, - operator::evaluate_mod_op, - primitive_equals, push_frame, throw, - typed::{Either2, Either4}, - with_state, ArrValue, FuncVal, IndexableVal, Val, +use std::{ + collections::HashMap, + convert::{TryFrom, TryInto}, }; -use crate::{Either, ObjValue}; + use format::{format_arr, format_obj}; use gcmodule::Cc; use jrsonnet_interner::IStr; use serde::Deserialize; use serde_yaml::DeserializingQuirks; -use std::collections::HashMap; -use std::convert::{TryFrom, TryInto}; +use crate::{ + builtin::manifest::{manifest_yaml_ex, ManifestYamlOptions}, + error::{Error::*, Result}, + function::{CallLocation, StaticBuiltin}, + operator::evaluate_mod_op, + push_frame, throw, + typed::{Any, BoundedUsize, Bytes, Either2, Either4, PositiveF64, VecVal, M1}, + val::{equals, primitive_equals, ArrValue, FuncVal, IndexableVal, Slice}, + with_state, Either, ObjValue, Val, +}; + pub mod stdlib; pub use stdlib::*; @@ -58,12 +60,12 @@ } Ok(Val::Str( - (s.chars() - .skip(index) - .take(end - index) - .step_by(step) - .collect::()) - .into(), + (s.chars() + .skip(index) + .take(end - index) + .step_by(step) + .collect::()) + .into(), )) } IndexableVal::Arr(arr) => { --- a/crates/jrsonnet-evaluator/src/builtin/sort.rs +++ b/crates/jrsonnet-evaluator/src/builtin/sort.rs @@ -1,10 +1,12 @@ +use gcmodule::{Cc, Trace}; + use crate::{ error::{Error, LocError, Result}, throw, typed::Any, - FuncVal, Val, + val::FuncVal, + Val, }; -use gcmodule::{Cc, Trace}; #[derive(Debug, Clone, thiserror::Error, Trace)] pub enum SortError { --- a/crates/jrsonnet-evaluator/src/builtin/stdlib.rs +++ b/crates/jrsonnet-evaluator/src/builtin/stdlib.rs @@ -1,6 +1,7 @@ -use jrsonnet_parser::{LocExpr, ParserSettings}; use std::path::PathBuf; +use jrsonnet_parser::{LocExpr, ParserSettings}; + thread_local! { /// To avoid parsing again when issued from the same thread #[allow(unreachable_code)] --- a/crates/jrsonnet-evaluator/src/ctx.rs +++ b/crates/jrsonnet-evaluator/src/ctx.rs @@ -1,12 +1,12 @@ -use crate::cc_ptr_eq; -use crate::gc::GcHashMap; +use std::fmt::Debug; + +use gcmodule::{Cc, Trace}; +use jrsonnet_interner::IStr; + use crate::{ - error::Error::*, map::LayeredHashMap, FutureWrapper, LazyBinding, LazyVal, ObjValue, Result, - Val, + cc_ptr_eq, error::Error::*, gc::GcHashMap, map::LayeredHashMap, FutureWrapper, LazyBinding, + LazyVal, ObjValue, Result, Val, }; -use gcmodule::{Cc, Trace}; -use jrsonnet_interner::IStr; -use std::fmt::Debug; #[derive(Clone, Trace)] pub struct ContextCreator(pub Context, pub FutureWrapper>); --- a/crates/jrsonnet-evaluator/src/error.rs +++ b/crates/jrsonnet-evaluator/src/error.rs @@ -1,16 +1,18 @@ -use crate::{ - builtin::{format::FormatError, sort::SortError}, - typed::TypeLocError, +use std::{ + path::{Path, PathBuf}, + rc::Rc, }; + use gcmodule::Trace; use jrsonnet_interner::IStr; use jrsonnet_parser::{BinaryOpType, ExprLocation, UnaryOpType}; use jrsonnet_types::ValType; -use std::{ - path::{Path, PathBuf}, - rc::Rc, +use thiserror::Error; + +use crate::{ + builtin::{format::FormatError, sort::SortError}, + typed::TypeLocError, }; -use thiserror::Error; #[derive(Error, Debug, Clone, Trace)] pub enum Error { --- a/crates/jrsonnet-evaluator/src/evaluate/mod.rs +++ b/crates/jrsonnet-evaluator/src/evaluate/mod.rs @@ -1,15 +1,5 @@ use std::convert::TryFrom; -use crate::{ - builtin::{std_slice, BUILTINS}, - error::Error::*, - evaluate::operator::{evaluate_add_op, evaluate_binary_op_special, evaluate_unary_op}, - function::CallLocation, - gc::TraceBox, - push_frame, throw, with_state, ArrValue, Bindable, Context, ContextCreator, FuncDesc, FuncVal, - FutureWrapper, GcHashMap, LazyBinding, LazyVal, LazyValValue, ObjValue, ObjValueBuilder, - ObjectAssertion, Result, Val, -}; use gcmodule::{Cc, Trace}; use jrsonnet_interner::IStr; use jrsonnet_parser::{ @@ -17,6 +7,19 @@ LiteralType, LocExpr, Member, ObjBody, ParamsDesc, }; use jrsonnet_types::ValType; + +use crate::{ + builtin::{std_slice, BUILTINS}, + error::Error::*, + evaluate::operator::{evaluate_add_op, evaluate_binary_op_special, evaluate_unary_op}, + function::CallLocation, + gc::TraceBox, + push_frame, throw, + typed::BoundedUsize, + val::{ArrValue, FuncDesc, FuncVal, LazyValValue}, + with_state, Bindable, Context, ContextCreator, FutureWrapper, GcHashMap, LazyBinding, LazyVal, + ObjValue, ObjValueBuilder, ObjectAssertion, Result, Val, +}; pub mod operator; pub fn evaluate_binding_in_future( --- a/crates/jrsonnet-evaluator/src/evaluate/operator.rs +++ b/crates/jrsonnet-evaluator/src/evaluate/operator.rs @@ -1,10 +1,11 @@ use std::convert::TryInto; -use crate::builtin::std_format; -use crate::{equals, evaluate, Context, Val}; -use crate::{error::Error::*, throw, Result}; use jrsonnet_parser::{BinaryOpType, LocExpr, UnaryOpType}; +use crate::{ + builtin::std_format, error::Error::*, evaluate, throw, val::equals, Context, Result, Val, +}; + pub fn evaluate_unary_op(op: UnaryOpType, b: &Val) -> Result { use UnaryOpType::*; use Val::*; --- a/crates/jrsonnet-evaluator/src/function.rs +++ b/crates/jrsonnet-evaluator/src/function.rs @@ -1,16 +1,19 @@ +use std::{borrow::Cow, collections::HashMap, convert::TryFrom}; + +use gcmodule::Trace; +use jrsonnet_interner::IStr; +pub use jrsonnet_macros::builtin; +use jrsonnet_parser::{ArgsDesc, ExprLocation, LocExpr, ParamsDesc}; + use crate::{ error::{Error::*, LocError}, evaluate, evaluate_named, gc::TraceBox, throw, typed::Typed, - Context, FutureWrapper, GcHashMap, LazyVal, LazyValValue, Result, Val, + val::LazyValValue, + Context, FutureWrapper, GcHashMap, LazyVal, Result, Val, }; -use gcmodule::Trace; -use jrsonnet_interner::IStr; -pub use jrsonnet_macros::builtin; -use jrsonnet_parser::{ArgsDesc, ExprLocation, LocExpr, ParamsDesc}; -use std::{borrow::Cow, collections::HashMap, convert::TryFrom}; #[derive(Clone, Copy)] pub struct CallLocation<'l>(pub Option<&'l ExprLocation>); --- a/crates/jrsonnet-evaluator/src/import.rs +++ b/crates/jrsonnet-evaluator/src/import.rs @@ -1,17 +1,20 @@ -use crate::{ - error::{Error::*, Result}, - throw, -}; -use fs::File; -use jrsonnet_interner::IStr; -use std::fs; use std::{ any::Any, + convert::TryFrom, + fs, + io::Read, path::{Path, PathBuf}, rc::Rc, }; -use std::{convert::TryFrom, io::Read}; +use fs::File; +use jrsonnet_interner::IStr; + +use crate::{ + error::{Error::*, Result}, + throw, +}; + /// Implements file resolution logic for `import` and `importStr` pub trait ImportResolver { /// Resolves real file path, e.g. `(/home/user/manifests, b.libjsonnet)` can correspond --- a/crates/jrsonnet-evaluator/src/integrations/serde.rs +++ b/crates/jrsonnet-evaluator/src/integrations/serde.rs @@ -1,9 +1,11 @@ +use std::convert::{TryFrom, TryInto}; + +use serde_json::{Map, Number, Value}; + use crate::{ error::{Error::*, LocError, Result}, throw, ObjValueBuilder, Val, }; -use serde_json::{Map, Number, Value}; -use std::convert::{TryFrom, TryInto}; impl TryFrom<&Val> for Value { type Error = LocError; --- a/crates/jrsonnet-evaluator/src/lib.rs +++ b/crates/jrsonnet-evaluator/src/lib.rs @@ -13,6 +13,7 @@ pub mod error; mod evaluate; pub mod function; +pub mod gc; mod import; mod integrations; mod map; @@ -20,9 +21,15 @@ mod obj; pub mod trace; pub mod typed; -mod val; +pub mod val; -pub use jrsonnet_parser as parser; +use std::{ + cell::{Ref, RefCell, RefMut}, + collections::HashMap, + fmt::Debug, + path::{Path, PathBuf}, + rc::Rc, +}; pub use ctx::*; pub use dynamic::*; @@ -33,18 +40,11 @@ use gcmodule::{Cc, Trace, Weak}; pub use import::*; pub use jrsonnet_interner::IStr; +pub use jrsonnet_parser as parser; use jrsonnet_parser::*; pub use obj::*; -use std::{ - cell::{Ref, RefCell, RefMut}, - collections::HashMap, - fmt::Debug, - path::{Path, PathBuf}, - rc::Rc, -}; use trace::{location_to_offset, offset_to_location, CodeLocation, CompactFormat, TraceFormat}; -pub use val::*; -pub mod gc; +pub use val::{LazyVal, ManifestFormat, Val}; pub trait Bindable: Trace + 'static { fn bind(&self, this: Option, super_obj: Option) -> Result; @@ -693,18 +693,24 @@ #[cfg(test)] pub mod tests { - use super::Val; - use crate::{ - error::Error::*, function::BuiltinParam, gc::TraceBox, native::NativeCallbackHandler, - primitive_equals, EvaluationState, - }; - use gcmodule::{Cc, Trace}; - use jrsonnet_parser::*; use std::{ path::{Path, PathBuf}, rc::Rc, }; + use gcmodule::{Cc, Trace}; + use jrsonnet_parser::*; + + use super::Val; + use crate::{ + error::Error::*, + function::{BuiltinParam, CallLocation}, + gc::TraceBox, + native::NativeCallbackHandler, + val::primitive_equals, + EvaluationState, + }; + #[test] #[should_panic] fn eval_state_stacktrace() { @@ -712,11 +718,15 @@ state.run_in_state(|| { state .push( - Some(&ExprLocation(PathBuf::from("test1.jsonnet").into(), 10, 20)), + CallLocation::new(&ExprLocation(PathBuf::from("test1.jsonnet").into(), 10, 20)), || "outer".to_owned(), || { state.push( - Some(&ExprLocation(PathBuf::from("test2.jsonnet").into(), 30, 40)), + CallLocation::new(&ExprLocation( + PathBuf::from("test2.jsonnet").into(), + 30, + 40, + )), || "inner".to_owned(), || Err(RuntimeError("".into()).into()), )?; @@ -1290,10 +1300,11 @@ } mod derive_typed { + use std::path::PathBuf; + use crate::{typed::Typed, EvaluationState}; - use std::path::PathBuf; - #[derive(Typed, PartialEq, Debug)] + #[derive(PartialEq, Debug, Typed)] struct MyTyped { a: u32, #[typed(rename = "b")] --- a/crates/jrsonnet-evaluator/src/native.rs +++ b/crates/jrsonnet-evaluator/src/native.rs @@ -1,13 +1,16 @@ #![allow(clippy::type_complexity)] -use crate::function::{parse_builtin_call, ArgsLike, Builtin, BuiltinParam, CallLocation}; -use crate::gc::TraceBox; -use crate::Context; -use crate::{error::Result, Val}; +use std::{path::Path, rc::Rc}; + use gcmodule::Trace; -use std::path::Path; -use std::rc::Rc; +use crate::{ + error::Result, + function::{parse_builtin_call, ArgsLike, Builtin, BuiltinParam, CallLocation}, + gc::TraceBox, + Context, Val, +}; + #[derive(Trace)] pub struct NativeCallback { pub(crate) params: Vec, --- a/crates/jrsonnet-evaluator/src/obj.rs +++ b/crates/jrsonnet-evaluator/src/obj.rs @@ -1,20 +1,23 @@ -use crate::error::LocError; -use crate::function::CallLocation; -use crate::gc::{GcHashMap, GcHashSet, TraceBox}; -use crate::operator::evaluate_add_op; -use crate::push_frame; -use crate::{ - cc_ptr_eq, error::Error::*, throw, weak_ptr_eq, weak_raw, Bindable, LazyBinding, LazyVal, - Result, Val, +use std::{ + cell::RefCell, + fmt::Debug, + hash::{Hash, Hasher}, }; + use gcmodule::{Cc, Trace, Weak}; use jrsonnet_interner::IStr; use jrsonnet_parser::{ExprLocation, Visibility}; use rustc_hash::FxHashMap; -use std::cell::RefCell; -use std::fmt::Debug; -use std::hash::{Hash, Hasher}; +use crate::{ + cc_ptr_eq, + error::{Error::*, LocError}, + function::CallLocation, + gc::{GcHashMap, GcHashSet, TraceBox}, + operator::evaluate_add_op, + push_frame, throw, weak_ptr_eq, weak_raw, Bindable, LazyBinding, LazyVal, Result, Val, +}; + #[derive(Debug, Trace)] pub struct ObjMember { pub add: bool, --- a/crates/jrsonnet-evaluator/src/trace/mod.rs +++ b/crates/jrsonnet-evaluator/src/trace/mod.rs @@ -1,8 +1,10 @@ mod location; +use std::path::{Path, PathBuf}; + +pub use location::*; + use crate::{error::Error, EvaluationState, LocError}; -pub use location::*; -use std::path::{Path, PathBuf}; /// The way paths should be displayed pub enum PathResolver { --- a/crates/jrsonnet-evaluator/src/typed/mod.rs +++ b/crates/jrsonnet-evaluator/src/typed/mod.rs @@ -2,14 +2,14 @@ mod conversions; pub use conversions::*; +use gcmodule::Trace; +pub use jrsonnet_types::{ComplexValType, ValType}; +use thiserror::Error; use crate::{ error::{Error, LocError, Result}, push_description_frame, Val, }; -use gcmodule::Trace; -pub use jrsonnet_types::{ComplexValType, ValType}; -use thiserror::Error; #[derive(Debug, Error, Clone, Trace)] pub enum TypeError { --- a/crates/jrsonnet-evaluator/src/val.rs +++ b/crates/jrsonnet-evaluator/src/val.rs @@ -1,3 +1,10 @@ +use std::{cell::RefCell, fmt::Debug, rc::Rc}; + +use gcmodule::{Cc, Trace}; +use jrsonnet_interner::IStr; +use jrsonnet_parser::{LocExpr, ParamsDesc}; +use jrsonnet_types::ValType; + use crate::{ builtin::manifest::{ manifest_json_ex, manifest_yaml_ex, ManifestJsonOptions, ManifestType, ManifestYamlOptions, @@ -12,11 +19,6 @@ gc::TraceBox, throw, Context, ObjValue, Result, }; -use gcmodule::{Cc, Trace}; -use jrsonnet_interner::IStr; -use jrsonnet_parser::{LocExpr, ParamsDesc}; -use jrsonnet_types::ValType; -use std::{cell::RefCell, fmt::Debug, rc::Rc}; pub trait LazyValValue: Trace { fn get(self: Box) -> Result; --- a/crates/jrsonnet-interner/src/lib.rs +++ b/crates/jrsonnet-interner/src/lib.rs @@ -1,6 +1,3 @@ -use gcmodule::Trace; -use rustc_hash::FxHashMap; -use serde::{Deserialize, Serialize}; use std::{ borrow::Cow, cell::RefCell, @@ -12,6 +9,10 @@ str::Utf8Error, }; +use gcmodule::Trace; +use rustc_hash::FxHashMap; +use serde::{Deserialize, Serialize}; + #[derive(Clone, PartialOrd, Ord, Eq)] pub struct IStr(Rc); impl Trace for IStr { --- a/crates/jrsonnet-parser/src/expr.rs +++ b/crates/jrsonnet-parser/src/expr.rs @@ -1,7 +1,3 @@ -use gcmodule::Trace; -use jrsonnet_interner::IStr; -#[cfg(feature = "serde")] -use serde::{Deserialize, Serialize}; use std::{ fmt::{Debug, Display}, ops::Deref, @@ -9,6 +5,11 @@ rc::Rc, }; +use gcmodule::Trace; +use jrsonnet_interner::IStr; +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Debug, PartialEq, Trace)] pub enum FieldName { --- a/crates/jrsonnet-parser/src/lib.rs +++ b/crates/jrsonnet-parser/src/lib.rs @@ -1,10 +1,11 @@ #![allow(clippy::redundant_closure_call)] -use peg::parser; use std::{ path::{Path, PathBuf}, rc::Rc, }; + +use peg::parser; mod expr; pub use expr::*; pub use jrsonnet_interner::IStr; @@ -317,11 +318,13 @@ #[cfg(test)] pub mod tests { - use super::{expr::*, parse}; - use crate::ParserSettings; use std::path::PathBuf; + use BinaryOpType::*; + use super::{expr::*, parse}; + use crate::ParserSettings; + macro_rules! parse { ($s:expr) => { parse( --- a/crates/jrsonnet-types/src/lib.rs +++ b/crates/jrsonnet-types/src/lib.rs @@ -1,8 +1,9 @@ #![allow(clippy::redundant_closure_call)] -use gcmodule::Trace; use std::fmt::Display; +use gcmodule::Trace; + #[macro_export] macro_rules! ty { ((Array)) => {{ -- gitstuff