diff --git a/crates/aiken-lang/src/tipo/hydrator.rs b/crates/aiken-lang/src/tipo/hydrator.rs index bfe79950..6f066034 100644 --- a/crates/aiken-lang/src/tipo/hydrator.rs +++ b/crates/aiken-lang/src/tipo/hydrator.rs @@ -87,10 +87,10 @@ impl Hydrator { self.rigid_type_names.clone() } - pub fn type_from_option_annotation<'a>( + pub fn type_from_option_annotation( &mut self, ast: &Option, - environment: &mut Environment<'a>, + environment: &mut Environment, ) -> Result, Error> { match ast { Some(ast) => self.type_from_annotation(ast, environment), @@ -100,10 +100,10 @@ impl Hydrator { /// Construct a Type from an AST Type annotation. /// - pub fn type_from_annotation<'a>( + pub fn type_from_annotation( &mut self, annotation: &Annotation, - environment: &mut Environment<'a>, + environment: &mut Environment, ) -> Result, Error> { match annotation { Annotation::Constructor { diff --git a/crates/aiken-project/src/config.rs b/crates/aiken-project/src/config.rs index 956dca25..324bb5fa 100644 --- a/crates/aiken-project/src/config.rs +++ b/crates/aiken-project/src/config.rs @@ -86,7 +86,7 @@ impl Config { let result: Self = toml::from_str(&raw_config).map_err(|e| Error::TomlLoading { path: config_path.clone(), src: raw_config.clone(), - named: NamedSource::new(config_path.display().to_string(), raw_config), + named: NamedSource::new(config_path.display().to_string(), raw_config).into(), // this isn't actually a legit way to get the span location: e.line_col().map(|(line, col)| Span { start: line, diff --git a/crates/aiken-project/src/deps.rs b/crates/aiken-project/src/deps.rs index b527a129..0ba25844 100644 --- a/crates/aiken-project/src/deps.rs +++ b/crates/aiken-project/src/deps.rs @@ -46,7 +46,7 @@ impl LocalPackages { let result: Self = toml::from_str(&src).map_err(|e| Error::TomlLoading { path: path.clone(), src: src.clone(), - named: NamedSource::new(path.display().to_string(), src), + named: NamedSource::new(path.display().to_string(), src).into(), // this isn't actually a legit way to get the span location: e.line_col().map(|(line, col)| Span { start: line, diff --git a/crates/aiken-project/src/deps/manifest.rs b/crates/aiken-project/src/deps/manifest.rs index 7ed9140c..ef423894 100644 --- a/crates/aiken-project/src/deps/manifest.rs +++ b/crates/aiken-project/src/deps/manifest.rs @@ -52,7 +52,7 @@ impl Manifest { let manifest: Self = toml::from_str(&toml).map_err(|e| Error::TomlLoading { path: manifest_path.clone(), src: toml.clone(), - named: NamedSource::new(manifest_path.display().to_string(), toml), + named: NamedSource::new(manifest_path.display().to_string(), toml).into(), // this isn't actually a legit way to get the span location: e.line_col().map(|(line, col)| Span { start: line, diff --git a/crates/aiken-project/src/error.rs b/crates/aiken-project/src/error.rs index 7bb642a9..56c99dcc 100644 --- a/crates/aiken-project/src/error.rs +++ b/crates/aiken-project/src/error.rs @@ -17,6 +17,7 @@ use owo_colors::OwoColorize; use std::{ fmt::{Debug, Display}, io, + ops::Deref, path::{Path, PathBuf}, }; use uplc::machine::cost_model::ExBudget; @@ -60,7 +61,7 @@ pub enum Error { TomlLoading { path: PathBuf, src: String, - named: NamedSource, + named: Box, location: Option, help: String, }, @@ -108,7 +109,7 @@ pub enum Error { location: Span, path: PathBuf, src: String, - named: NamedSource, + named: Box, }, #[error("{name} failed{}", if *verbose { format!("\n{src}") } else { String::new() } )] @@ -438,10 +439,10 @@ impl Diagnostic for Error { Error::Type { named, .. } => Some(named), Error::StandardIo(_) => None, Error::MissingManifest { .. } => None, - Error::TomlLoading { named, .. } => Some(named), + Error::TomlLoading { named, .. } => Some(named.deref()), Error::Format { .. } => None, Error::ValidatorMustReturnBool { named, .. } => Some(named), - Error::WrongValidatorArity { named, .. } => Some(named), + Error::WrongValidatorArity { named, .. } => Some(named.deref()), Error::TestFailure { .. } => None, Error::Http(_) => None, Error::ZipExtract(_) => None,