git.delta.rocks / jrsonnet / refs/commits / 06fa714fdb66

difftreelog

style apply clippy suggestions

Yaroslav Bolyukin2022-07-23parent: #50ca1d2.patch.diff
in: master

5 files changed

modifiedbindings/jsonnet/src/import.rsdiffbeforeafterboth
--- a/bindings/jsonnet/src/import.rs
+++ b/bindings/jsonnet/src/import.rs
@@ -143,7 +143,7 @@
 pub unsafe extern "C" fn jsonnet_jpath_add(vm: &State, v: *const c_char) {
 	let cstr = CStr::from_ptr(v);
 	let path = PathBuf::from(cstr.to_str().unwrap());
-	let any_resolver = &vm.settings().import_resolver;
+	let any_resolver = vm.import_resolver();
 	let resolver = any_resolver
 		.as_any()
 		.downcast_ref::<NativeImportResolver>()
modifiedcrates/jrsonnet-evaluator/src/gc.rsdiffbeforeafterboth
--- a/crates/jrsonnet-evaluator/src/gc.rs
+++ b/crates/jrsonnet-evaluator/src/gc.rs
@@ -53,25 +53,25 @@
 
 impl<T: ?Sized> Borrow<T> for TraceBox<T> {
 	fn borrow(&self) -> &T {
-		&*self.0
+		&self.0
 	}
 }
 
 impl<T: ?Sized> BorrowMut<T> for TraceBox<T> {
 	fn borrow_mut(&mut self) -> &mut T {
-		&mut *self.0
+		&mut self.0
 	}
 }
 
 impl<T: ?Sized> AsRef<T> for TraceBox<T> {
 	fn as_ref(&self) -> &T {
-		&*self.0
+		&self.0
 	}
 }
 
 impl<T: ?Sized> AsMut<T> for TraceBox<T> {
 	fn as_mut(&mut self) -> &mut T {
-		&mut *self.0
+		&mut self.0
 	}
 }
 
modifiedcrates/jrsonnet-evaluator/src/import.rsdiffbeforeafterboth
before · crates/jrsonnet-evaluator/src/import.rs
1use std::{2	any::Any,3	fs,4	io::Read,5	path::{Path, PathBuf},6};78use fs::File;910use crate::{11	error::{Error::*, Result},12	throw,13};1415/// Implements file resolution logic for `import` and `importStr`16pub trait ImportResolver {17	/// Resolves real file path, e.g. `(/home/user/manifests, b.libjsonnet)` can correspond18	/// both to `/home/user/manifests/b.libjsonnet` and to `/home/user/${vendor}/b.libjsonnet`19	/// where `${vendor}` is a library path.20	fn resolve_file(&self, from: &Path, path: &str) -> Result<PathBuf>;2122	fn load_file_contents(&self, resolved: &Path) -> Result<Vec<u8>>;2324	/// # Safety25	///26	/// For use only in bindings, should not be used elsewhere.27	/// Implementations which are not intended to be used in bindings28	/// should panic on call to this method.29	unsafe fn as_any(&self) -> &dyn Any;30}3132/// Dummy resolver, can't resolve/load any file33pub struct DummyImportResolver;34impl ImportResolver for DummyImportResolver {35	fn resolve_file(&self, from: &Path, path: &str) -> Result<PathBuf> {36		throw!(ImportNotSupported(from.into(), path.into()))37	}3839	fn load_file_contents(&self, _resolved: &Path) -> Result<Vec<u8>> {40		panic!("dummy resolver can't load any file")41	}4243	unsafe fn as_any(&self) -> &dyn Any {44		panic!("`as_any($self)` is not supported by dummy resolver")45	}46}47#[allow(clippy::use_self)]48impl Default for Box<dyn ImportResolver> {49	fn default() -> Self {50		Box::new(DummyImportResolver)51	}52}5354/// File resolver, can load file from both FS and library paths55#[derive(Default)]56pub struct FileImportResolver {57	/// Library directories to search for file.58	/// Referred to as `jpath` in original jsonnet implementation.59	pub library_paths: Vec<PathBuf>,60}61impl ImportResolver for FileImportResolver {62	fn resolve_file(&self, from: &Path, path: &str) -> Result<PathBuf> {63		let mut direct = from.to_path_buf();64		direct.push(path);65		if direct.exists() {66			Ok(direct.canonicalize().map_err(|e| ImportIo(e.to_string()))?)67		} else {68			for library_path in &self.library_paths {69				let mut cloned = library_path.clone();70				cloned.push(path);71				if cloned.exists() {72					return Ok(cloned.canonicalize().map_err(|e| ImportIo(e.to_string()))?);73				}74			}75			throw!(ImportFileNotFound(from.to_owned(), path.to_owned()))76		}77	}7879	fn load_file_contents(&self, id: &Path) -> Result<Vec<u8>> {80		let mut file = File::open(id).map_err(|_e| ResolvedFileNotFound(id.to_owned()))?;81		let mut out = Vec::new();82		file.read_to_end(&mut out)83			.map_err(|e| ImportIo(e.to_string()))?;84		Ok(out)85	}86	unsafe fn as_any(&self) -> &dyn Any {87		panic!("this resolver can't be used as any")88	}89}
modifiedcrates/jrsonnet-evaluator/src/stdlib/format.rsdiffbeforeafterboth
--- a/crates/jrsonnet-evaluator/src/stdlib/format.rs
+++ b/crates/jrsonnet-evaluator/src/stdlib/format.rs
@@ -774,10 +774,7 @@
 			format_arr(s.clone(), "%+-4o", &[Val::Num(8.0)]).unwrap(),
 			"+10 "
 		);
-		assert_eq!(
-			format_arr(s.clone(), "%+-04o", &[Val::Num(8.0)]).unwrap(),
-			"+10 "
-		);
+		assert_eq!(format_arr(s, "%+-04o", &[Val::Num(8.0)]).unwrap(), "+10 ");
 	}
 
 	#[test]
modifiedcrates/jrsonnet-evaluator/src/typed/conversions.rsdiffbeforeafterboth
--- a/crates/jrsonnet-evaluator/src/typed/conversions.rs
+++ b/crates/jrsonnet-evaluator/src/typed/conversions.rs
@@ -393,6 +393,7 @@
 	($a:ty, $b:ty, $c:ty, $d:ty, $e:ty, $f:ty) => {Either6<$a, $b, $c, $d, $e, $f>};
 	($a:ty, $b:ty, $c:ty, $d:ty, $e:ty, $f:ty, $g:ty) => {Either7<$a, $b, $c, $d, $e, $f, $g>};
 }
+pub use Either;
 
 pub type MyType = Either![u32, f64, String];