@@ -1519,33 +1519,39 @@ pub(crate) mod builtin {
15191519 ( $file: expr $( , ) ?) => { { /* compiler built-in */ } } ;
15201520 }
15211521
1522- /// Automatic Differentiation macro which allows generating a new function to compute
1523- /// the derivative of a given function. It may only be applied to a function.
1524- /// The expected usage syntax is
1525- /// `#[autodiff(NAME, MODE, INPUT_ACTIVITIES, OUTPUT_ACTIVITY)]`
1526- /// where:
1527- /// NAME is a string that represents a valid function name.
1528- /// MODE is any of Forward, Reverse, ForwardFirst, ReverseFirst.
1529- /// INPUT_ACTIVITIES consists of one valid activity for each input parameter.
1530- /// OUTPUT_ACTIVITY must not be set if we implicitly return nothing (or explicitly return
1531- /// `-> ()`). Otherwise it must be set to one of the allowed activities.
1532- #[ unstable( feature = "autodiff" , issue = "124509" ) ]
1533- #[ allow_internal_unstable( rustc_attrs) ]
1534- #[ rustc_builtin_macro]
1535- pub macro autodiff( $item: item) {
1536- /* compiler built-in */
1537- }
1538-
1522+ /// the derivative of a given function in the forward mode of differentiation.
1523+ /// It may only be applied to a function.
1524+ ///
1525+ /// The expected usage syntax is:
1526+ /// `#[autodiff_forward(NAME, INPUT_ACTIVITIES, OUTPUT_ACTIVITY)]`
1527+ ///
1528+ /// - `NAME`: A string that represents a valid function name.
1529+ /// - `INPUT_ACTIVITIES`: Specifies one valid activity for each input parameter.
1530+ /// - `OUTPUT_ACTIVITY`: Must not be set if the function implicitly returns nothing
1531+ /// (or explicitly returns `-> ()`). Otherwise, it must be set to one of the allowed activities.
15391532 #[ unstable( feature = "autodiff" , issue = "124509" ) ]
15401533 #[ allow_internal_unstable( rustc_attrs) ]
15411534 #[ rustc_builtin_macro]
1535+ #[ cfg( not( bootstrap) ) ]
15421536 pub macro autodiff_forward( $item: item) {
15431537 /* compiler built-in */
15441538 }
15451539
1540+ /// Automatic Differentiation macro which allows generating a new function to compute
1541+ /// the derivative of a given function in the reverse mode of differentiation.
1542+ /// It may only be applied to a function.
1543+ ///
1544+ /// The expected usage syntax is:
1545+ /// `#[autodiff_reverse(NAME, INPUT_ACTIVITIES, OUTPUT_ACTIVITY)]`
1546+ ///
1547+ /// - `NAME`: A string that represents a valid function name.
1548+ /// - `INPUT_ACTIVITIES`: Specifies one valid activity for each input parameter.
1549+ /// - `OUTPUT_ACTIVITY`: Must not be set if the function implicitly returns nothing
1550+ /// (or explicitly returns `-> ()`). Otherwise, it must be set to one of the allowed activities.
15461551 #[ unstable( feature = "autodiff" , issue = "124509" ) ]
15471552 #[ allow_internal_unstable( rustc_attrs) ]
15481553 #[ rustc_builtin_macro]
1554+ #[ cfg( not( bootstrap) ) ]
15491555 pub macro autodiff_reverse( $item: item) {
15501556 /* compiler built-in */
15511557 }
0 commit comments