Struct gapi_grpc::google::api::expr::v1alpha1::decl::function_decl::Overload [−][src]
An overload indicates a function’s parameter types and return type, and may optionally include a function body described in terms of [Expr][google.api.expr.v1alpha1.Expr] values.
Functions overloads are declared in either a function or method
call-style. For methods, the params[0]
is the expected type of the
target receiver.
Overloads must have non-overlapping argument types after erasure of all parameterized type variables (similar as type erasure in Java).
Fields
overload_id: String
Required. Globally unique overload name of the function which reflects the function name and argument types.
This will be used by a [Reference][google.api.expr.v1alpha1.Reference] to indicate the overload_id
that
was resolved for the function name
.
params: Vec<Type>
List of function parameter [Type][google.api.expr.v1alpha1.Type] values.
Param types are disjoint after generic type parameters have been
replaced with the type DYN
. Since the DYN
type is compatible with
any other type, this means that if A
is a type parameter, the
function types int<A>
and int<int>
are not disjoint. Likewise,
map<string, string>
is not disjoint from map<K, V>
.
When the result_type
of a function is a generic type param, the
type param name also appears as the type
of on at least one params.
type_params: Vec<String>
The type param names associated with the function declaration.
For example, function ex<K,V>(K key, map<K, V> map) : V
would yield
the type params of K, V
.
result_type: Option<Type>
Required. The result type of the function. For example, the operator
string.isEmpty()
would have result_type
of kind: BOOL
.
is_instance_function: bool
Whether the function is to be used in a method call-style x.f(...)
of a function call-style f(x, ...)
.
For methods, the first parameter declaration, params[0]
is the
expected type of the target receiver.
doc: String
Documentation string for the overload.
Trait Implementations
impl Clone for Overload
[src]
impl Debug for Overload
[src]
impl Default for Overload
[src]
impl Message for Overload
[src]
fn encode_raw<B>(&self, buf: &mut B) where
B: BufMut,
[src]
B: BufMut,
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
[src]
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
fn encoded_len(&self) -> usize
[src]
fn clear(&mut self)
[src]
pub fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
pub fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
pub fn decode<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
Self: Default,
B: Buf,
pub fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
Self: Default,
B: Buf,
pub fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
pub fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
impl PartialEq<Overload> for Overload
[src]
impl StructuralPartialEq for Overload
[src]
Auto Trait Implementations
impl RefUnwindSafe for Overload
impl Send for Overload
impl Sync for Overload
impl Unpin for Overload
impl UnwindSafe for Overload
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoRequest<T> for T
[src]
pub fn into_request(self) -> Request<T>
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,