From cd7c161294eac4c2cce5c503f1c5b05ce24864a7 Mon Sep 17 00:00:00 2001 From: Antoine PLASKOWSKI Date: Tue, 2 May 2023 20:36:48 +0200 Subject: [PATCH] Add known issue of let binding to format_args doc --- library/core/src/macros/mod.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/library/core/src/macros/mod.rs b/library/core/src/macros/mod.rs index 7c93c93b4a019..a9818371f9ea8 100644 --- a/library/core/src/macros/mod.rs +++ b/library/core/src/macros/mod.rs @@ -868,6 +868,14 @@ pub(crate) mod builtin { /// let s = fmt::format(format_args!("hello {}", "world")); /// assert_eq!(s, format!("hello {}", "world")); /// ``` + /// + /// # Lifetime limitation + /// + /// Except when no formatting arguments are used, + /// the produced `fmt::Arguments` value borrows temporary values, + /// which means it can only be used within the same expression + /// and cannot be stored for later use. + /// This is a known limitation, see [#92698](https://github.com/rust-lang/rust/issues/92698). #[stable(feature = "rust1", since = "1.0.0")] #[cfg_attr(not(test), rustc_diagnostic_item = "format_args_macro")] #[allow_internal_unsafe]