juniper::marker

Trait GraphQLInterface

Source
pub trait GraphQLInterface<S: ScalarValue>: GraphQLType<S> {
    // Provided method
    fn mark() { ... }
}
Expand description

Maker trait for GraphQL interfaces.

This trait extends the GraphQLType and is only used to mark an interface. During compile this addition information is required to prevent unwanted structure compiling. If an object requires this trait instead of the GraphQLType, then it explicitly requires GraphQL interfaces. Other types (scalars, enums, objects, input objects and unions) are not allowed.

Provided Methods§

Source

fn mark()

An arbitrary function without meaning.

May contain compile timed check logic which ensures that types are used correctly according to the GraphQL specification.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<S, T> GraphQLInterface<S> for &T
where T: GraphQLInterface<S> + ?Sized, S: ScalarValue,

Source§

impl<S, T> GraphQLInterface<S> for Box<T>
where T: GraphQLInterface<S> + ?Sized, S: ScalarValue,

Source§

impl<S, T> GraphQLInterface<S> for Arc<T>
where T: GraphQLInterface<S> + ?Sized, S: ScalarValue,

Implementors§