@@ -1519,33 +1519,39 @@ pub(crate) mod builtin {
1519
1519
( $file: expr $( , ) ?) => { { /* compiler built-in */ } } ;
1520
1520
}
1521
1521
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.
1539
1532
#[ unstable( feature = "autodiff" , issue = "124509" ) ]
1540
1533
#[ allow_internal_unstable( rustc_attrs) ]
1541
1534
#[ rustc_builtin_macro]
1535
+ #[ cfg( not( bootstrap) ) ]
1542
1536
pub macro autodiff_forward( $item: item) {
1543
1537
/* compiler built-in */
1544
1538
}
1545
1539
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.
1546
1551
#[ unstable( feature = "autodiff" , issue = "124509" ) ]
1547
1552
#[ allow_internal_unstable( rustc_attrs) ]
1548
1553
#[ rustc_builtin_macro]
1554
+ #[ cfg( not( bootstrap) ) ]
1549
1555
pub macro autodiff_reverse( $item: item) {
1550
1556
/* compiler built-in */
1551
1557
}
0 commit comments