Provide better errors on unknown type in cyclic definitions.
Let's consider the following case:
```
type Var =
Integer
type Vars =
List<Var>
```
This incorrectly reports an infinite cycle; due to the inability to
properly type-check `Var` which is also a dependent var of `Vars`. Yet
the real issue here being that `Integer` is an unknown type.
This commit also upgrades miette to 7.2.0, so that we can also display
a better error output when the problem is actually a cycle.
This commit is contained in:
parent
6fd9b34b92
commit
b36250d183
|
|
@ -61,7 +61,7 @@ pub enum Error {
|
|||
TomlLoading {
|
||||
path: PathBuf,
|
||||
src: String,
|
||||
named: Box<NamedSource<String>>,
|
||||
named: NamedSource<String>,
|
||||
location: Option<Span>,
|
||||
help: String,
|
||||
},
|
||||
|
|
@ -76,7 +76,7 @@ pub enum Error {
|
|||
Parse {
|
||||
path: PathBuf,
|
||||
src: String,
|
||||
named: Box<NamedSource<String>>,
|
||||
named: NamedSource<String>,
|
||||
#[source]
|
||||
error: Box<ParseError>,
|
||||
},
|
||||
|
|
@ -454,7 +454,7 @@ impl Diagnostic for Error {
|
|||
Error::Type { named, .. } => Some(named),
|
||||
Error::StandardIo(_) => None,
|
||||
Error::MissingManifest { .. } => None,
|
||||
Error::TomlLoading { named, .. } => Some(named.as_ref()),
|
||||
Error::TomlLoading { named, .. } => Some(named),
|
||||
Error::Format { .. } => None,
|
||||
Error::TestFailure { .. } => None,
|
||||
Error::Http(_) => None,
|
||||
|
|
|
|||
Loading…
Reference in New Issue