Re-exportsยง
use std::str::FromStr;๐use std::string::String;๐use rustc_ast::expand::autodiff_attrs::DiffActivity;๐use rustc_ast::expand::autodiff_attrs::DiffMode;๐use rustc_ast::expand::autodiff_attrs::valid_input_activity;๐use rustc_ast::expand::autodiff_attrs::valid_ret_activity;๐use rustc_ast::expand::autodiff_attrs::valid_ty_for_activity;๐use rustc_ast::token::IdentKind;๐use rustc_ast::token::Lit;๐use rustc_ast::token::LitKind;๐use rustc_ast::token::Token;๐use rustc_ast::token::TokenKind;๐use rustc_ast as ast;๐use rustc_ast::FnRetTy;๐use rustc_ast::FnSig;๐use rustc_ast::GenericArg;๐use rustc_ast::GenericParamKind;๐use rustc_ast::Generics;๐use rustc_ast::ItemKind;๐use rustc_ast::MetaItemInner;๐use rustc_ast::PatKind;๐use rustc_ast::TyKind;๐use rustc_ast::Visibility;๐use rustc_attr_ir::RustcAutodiff;๐use rustc_expand::base::Annotatable;๐use rustc_expand::base::ExtCtxt;๐use rustc_span::DUMMY_SP;๐use rustc_span::Ident;๐use rustc_span::Span;๐use rustc_span::Symbol;๐use rustc_span::kw;๐use rustc_span::sym;๐use thin_vec::ThinVec;๐use thin_vec::thin_vec;๐use tracing::debug;๐use tracing::trace;๐use crate::diagnostics;๐use rustc_ast::tokenstream::*;๐use rustc_ast::visit::AssocCtxt::*;๐
Functionsยง
- assure_
mut_ ๐ref - call_
autodiff ๐ - expand_
forward ๐ - expand_
reverse ๐ - expand_
with_ ๐mode - We expand the autodiff macro to generate a new placeholder function which passes type-checking and can be called by users. The exact signature of the generated function depends on the configuration provided by the user, but here is an example:
- extract_
item_ ๐info - first_
ident ๐ - from_
ast ๐ - gen_
enzyme_ ๐decl - gen_
turbofish_ ๐expr - has_ret ๐
- meta_
item_ ๐inner_ to_ ts - name ๐
- outer_
normal_ ๐attr - width ๐