Skip to main content

Module deriving

Module deriving 

Source
Expand description

The compiler code necessary to implement the #[derive] extensions.

Re-exportsยง

use rustc_ast as ast; ๐Ÿ”’
use rustc_ast::GenericArg; ๐Ÿ”’
use rustc_ast::MetaItem; ๐Ÿ”’
use rustc_expand::base::Annotatable; ๐Ÿ”’
use rustc_expand::base::ExpandResult; ๐Ÿ”’
use rustc_expand::base::ExtCtxt; ๐Ÿ”’
use rustc_expand::base::MultiItemModifier; ๐Ÿ”’
use rustc_span::Span; ๐Ÿ”’
use rustc_span::Symbol; ๐Ÿ”’
use rustc_span::sym; ๐Ÿ”’
use thin_vec::ThinVec; ๐Ÿ”’
use thin_vec::thin_vec; ๐Ÿ”’

Modulesยง

clone ๐Ÿ”’
coerce_pointee ๐Ÿ”’
const_param_ty ๐Ÿ”’
copy ๐Ÿ”’
debug ๐Ÿ”’
default ๐Ÿ”’
eq ๐Ÿ”’
from ๐Ÿ”’
generic ๐Ÿ”’
Some code that abstracts away much of the boilerplate of writing derive instances for traits. Among other things it manages getting access to the fields of the 4 different sorts of structs and enum variants, as well as creating the method and impl ast instances.
hash ๐Ÿ”’
ord ๐Ÿ”’
partial_eq ๐Ÿ”’
partial_ord ๐Ÿ”’
reborrow ๐Ÿ”’

Macrosยง

path_std ๐Ÿ”’
pathvec ๐Ÿ”’

Structsยง

BuiltinDerive ๐Ÿ”’

Functionsยง

assert_ty_bounds ๐Ÿ”’
call_discriminant_value ๐Ÿ”’
Constructs an expression that calls the discriminant_value intrinsic.
call_unreachable ๐Ÿ”’
Constructs an expression that calls the unreachable intrinsic.

Type Aliasesยง

BuiltinDeriveFn ๐Ÿ”’