pub enum FunctionError {
Show 48 variants
Expression {
handle: Handle<Expression>,
source: ExpressionError,
},
ExpressionAlreadyInScope(Handle<Expression>),
LocalVariable {
handle: Handle<LocalVariable>,
name: String,
source: LocalVariableError,
},
InvalidArgumentType {
index: usize,
name: String,
},
NonConstructibleReturnType,
InvalidArgumentPointerSpace {
index: usize,
name: String,
space: AddressSpace,
},
BreakOutsideOfLoopOrSwitch,
ContinueOutsideOfLoop,
InvalidReturnSpot,
InvalidReturnType {
expression: Option<Handle<Expression>>,
expected_ty: Option<Handle<Type>>,
},
InvalidIfType(Handle<Expression>),
InvalidSwitchType(Handle<Expression>),
ConflictingSwitchCase(SwitchValue),
ConflictingCaseType,
MissingDefaultCase,
MultipleDefaultCases,
LastCaseFallTrough,
InvalidStorePointer(Handle<Expression>),
InvalidStoreTexture {
actual: Handle<Expression>,
actual_ty: TypeInner,
},
InvalidStoreValue {
actual: Handle<Expression>,
actual_ty: TypeInner,
expected_ty: TypeInner,
},
InvalidStoreTypes {
pointer: Handle<Expression>,
value: Handle<Expression>,
},
InvalidImageStore(ExpressionError),
InvalidImageAtomic(ExpressionError),
InvalidImageAtomicFunction(AtomicFunction),
InvalidImageAtomicValue(Handle<Expression>),
InvalidCall {
function: Handle<Function>,
error: CallError,
},
InvalidAtomic(AtomicError),
InvalidRayQueryExpression(Handle<Expression>),
InvalidAccelerationStructure(Handle<Expression>),
MissingAccelerationStructureVertexReturn(Handle<Expression>, Handle<Expression>),
MissingRayQueryVertexReturn(Handle<Expression>),
InvalidRayDescriptor(Handle<Expression>),
InvalidRayQueryType(Handle<Type>),
InvalidHitDistanceType(Handle<Expression>),
MissingCapability(Capabilities),
NonUniformControlFlow(UniformityRequirements, Handle<Expression>, UniformityDisruptor),
PipelineInputRegularFunction {
name: String,
},
PipelineOutputRegularFunction,
NonUniformWorkgroupUniformLoad(UniformityDisruptor),
WorkgroupUniformLoadExpressionMismatch(Handle<Expression>),
WorkgroupUniformLoadInvalidPointer(Handle<Expression>),
InvalidSubgroup(SubgroupError),
EmitResult(Handle<Expression>),
UnvisitedExpression(Handle<Expression>),
InvalidMeshFunctionCall(Handle<Expression>),
ConflictingMeshOutputTypes(Handle<Expression>, Handle<Expression>),
ConflictingTaskPayloadVariables(Handle<Expression>, Handle<Expression>),
InvalidMeshShaderOutputType(Handle<Expression>),
}Variants§
Expression
ExpressionAlreadyInScope(Handle<Expression>)
LocalVariable
InvalidArgumentType
NonConstructibleReturnType
InvalidArgumentPointerSpace
BreakOutsideOfLoopOrSwitch
ContinueOutsideOfLoop
InvalidReturnSpot
InvalidReturnType
InvalidIfType(Handle<Expression>)
InvalidSwitchType(Handle<Expression>)
ConflictingSwitchCase(SwitchValue)
ConflictingCaseType
MissingDefaultCase
MultipleDefaultCases
LastCaseFallTrough
InvalidStorePointer(Handle<Expression>)
InvalidStoreTexture
InvalidStoreValue
InvalidStoreTypes
InvalidImageStore(ExpressionError)
InvalidImageAtomic(ExpressionError)
InvalidImageAtomicFunction(AtomicFunction)
InvalidImageAtomicValue(Handle<Expression>)
InvalidCall
InvalidAtomic(AtomicError)
InvalidRayQueryExpression(Handle<Expression>)
InvalidAccelerationStructure(Handle<Expression>)
MissingAccelerationStructureVertexReturn(Handle<Expression>, Handle<Expression>)
MissingRayQueryVertexReturn(Handle<Expression>)
InvalidRayDescriptor(Handle<Expression>)
InvalidRayQueryType(Handle<Type>)
InvalidHitDistanceType(Handle<Expression>)
MissingCapability(Capabilities)
NonUniformControlFlow(UniformityRequirements, Handle<Expression>, UniformityDisruptor)
PipelineInputRegularFunction
PipelineOutputRegularFunction
NonUniformWorkgroupUniformLoad(UniformityDisruptor)
WorkgroupUniformLoadExpressionMismatch(Handle<Expression>)
WorkgroupUniformLoadInvalidPointer(Handle<Expression>)
InvalidSubgroup(SubgroupError)
EmitResult(Handle<Expression>)
UnvisitedExpression(Handle<Expression>)
InvalidMeshFunctionCall(Handle<Expression>)
ConflictingMeshOutputTypes(Handle<Expression>, Handle<Expression>)
ConflictingTaskPayloadVariables(Handle<Expression>, Handle<Expression>)
InvalidMeshShaderOutputType(Handle<Expression>)
Trait Implementations§
Source§impl Clone for FunctionError
impl Clone for FunctionError
Source§fn clone(&self) -> FunctionError
fn clone(&self) -> FunctionError
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 FunctionError
impl Debug for FunctionError
Source§impl Display for FunctionError
impl Display for FunctionError
Source§impl Error for FunctionError
impl Error for FunctionError
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 From<AtomicError> for FunctionError
impl From<AtomicError> for FunctionError
Source§fn from(source: AtomicError) -> FunctionError
fn from(source: AtomicError) -> FunctionError
Converts to this type from the input type.
Source§impl From<FunctionError> for EntryPointError
impl From<FunctionError> for EntryPointError
Source§fn from(source: FunctionError) -> EntryPointError
fn from(source: FunctionError) -> EntryPointError
Converts to this type from the input type.
Source§impl From<SubgroupError> for FunctionError
impl From<SubgroupError> for FunctionError
Source§fn from(source: SubgroupError) -> FunctionError
fn from(source: SubgroupError) -> FunctionError
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for FunctionError
impl RefUnwindSafe for FunctionError
impl Send for FunctionError
impl Sync for FunctionError
impl Unpin for FunctionError
impl UnsafeUnpin for FunctionError
impl UnwindSafe for FunctionError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more