pub enum StructureRefusal {
NotAnInductive {
inductive: String,
},
AlreadyAStructure {
inductive: String,
},
Sealed {
inductive: String,
},
NotStructureShaped {
inductive: String,
constructors: usize,
indices: usize,
},
ShortConstructor {
constructor: String,
params: usize,
},
Recursive {
inductive: String,
},
ProjectionCount {
inductive: String,
fields: usize,
projections: usize,
},
NotADefinition {
projection: String,
},
UniverseArity {
projection: String,
inductive: String,
expected: usize,
found: usize,
},
DoesNotCompute {
projection: String,
field: usize,
inductive: String,
},
WrongFieldType {
projection: String,
field: usize,
inductive: String,
},
}Expand description
Why structure η was refused. Every variant names the first condition that failed.
Variants§
NotAnInductive
The named inductive is not declared.
AlreadyAStructure
The inductive already has structure η.
Sealed
A native nested positivity check depends on the inductive, so it cannot change.
NotStructureShaped
A structure has exactly one constructor and no indices.
ShortConstructor
The constructor’s type binds fewer binders than the inductive has parameters.
Recursive
The inductive’s mutual block is recursive.
ProjectionCount
The number of projections differs from the number of fields.
NotADefinition
A projection is not a transparent definition.
UniverseArity
A projection’s universe telescope is not the inductive’s.
DoesNotCompute
projᵢ p̄ (mk p̄ f̄) is not definitionally fᵢ.
WrongFieldType
projᵢ p̄ (mk p̄ f̄) computes fᵢ but is ill typed, or not of the field’s type.
Trait Implementations§
Source§impl Clone for StructureRefusal
impl Clone for StructureRefusal
Source§fn clone(&self) -> StructureRefusal
fn clone(&self) -> StructureRefusal
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StructureRefusal
impl Debug for StructureRefusal
Source§impl Display for StructureRefusal
impl Display for StructureRefusal
Source§impl Error for StructureRefusal
impl Error for StructureRefusal
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl PartialEq for StructureRefusal
impl PartialEq for StructureRefusal
impl Eq for StructureRefusal
impl StructuralPartialEq for StructureRefusal
Auto Trait Implementations§
impl Freeze for StructureRefusal
impl RefUnwindSafe for StructureRefusal
impl Send for StructureRefusal
impl Sync for StructureRefusal
impl Unpin for StructureRefusal
impl UnsafeUnpin for StructureRefusal
impl UnwindSafe for StructureRefusal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more