Based on #747, separated out to make that PR easier to read
Closes #756, closes #691
Ports compiler-based validation from the ApolloDiagnostic builder type to a simpler error ValidationError. The validation::diagnostics::{ValidationError, DiagnosticData} types have the same structure as the validation::{DiagnosticData, Details} types, so it can be flattened easily, inlining all build errors and validation errors. That could even be done in this PR 🤔
Improved some error messages while there, so the main message names relevant types, and they still make sense without additional labels.
Todo:
[x] fix a mistake in one of the interface error messages
Based on #747, separated out to make that PR easier to read
Closes #756, closes #691
Ports compiler-based validation from the
ApolloDiagnostic
builder type to a simpler errorValidationError
. Thevalidation::diagnostics::{ValidationError, DiagnosticData}
types have the same structure as thevalidation::{DiagnosticData, Details}
types, so it can be flattened easily, inlining all build errors and validation errors. That could even be done in this PR 🤔Improved some error messages while there, so the main message names relevant types, and they still make sense without additional labels.
Todo:
DiagnosticData
?