Skip to content

Commit 2d3c369

Browse files
oghampietroalbini
authored andcommitted
Link the docs of panic!() and compile_error!()
Fixes #47275. These two macros are similar, but different, and could do with documentation links to each other.
1 parent 01cc982 commit 2d3c369

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/libstd/macros.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,13 @@
3838
/// The multi-argument form of this macro panics with a string and has the
3939
/// [`format!`] syntax for building a string.
4040
///
41+
/// See also the macro [`compile_error!`], for raising errors during compilation.
42+
///
4143
/// [runwrap]: ../std/result/enum.Result.html#method.unwrap
4244
/// [`Option`]: ../std/option/enum.Option.html#method.unwrap
4345
/// [`Result`]: ../std/result/enum.Result.html
4446
/// [`format!`]: ../std/macro.format.html
47+
/// [`compile_error!`]: ../std/macro.compile_error.html
4548
/// [book]: ../book/second-edition/ch09-01-unrecoverable-errors-with-panic.html
4649
///
4750
/// # Current implementation
@@ -305,7 +308,8 @@ pub mod builtin {
305308
/// Unconditionally causes compilation to fail with the given error message when encountered.
306309
///
307310
/// This macro should be used when a crate uses a conditional compilation strategy to provide
308-
/// better error messages for erroneous conditions.
311+
/// better error messages for erroneous conditions. It's the compiler-level form of [`panic!`],
312+
/// which emits an error at *runtime*, rather than during compilation.
309313
///
310314
/// # Examples
311315
///
@@ -332,6 +336,8 @@ pub mod builtin {
332336
/// #[cfg(not(any(feature = "foo", feature = "bar")))]
333337
/// compile_error!("Either feature \"foo\" or \"bar\" must be enabled for this crate.")
334338
/// ```
339+
///
340+
/// [`panic!`]: ../std/macro.panic.html
335341
#[stable(feature = "compile_error_macro", since = "1.20.0")]
336342
#[macro_export]
337343
macro_rules! compile_error {

0 commit comments

Comments
 (0)