mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-28 20:16:58 +03:00
Rollup merge of #146088 - npmccallum:try, r=scottmcm
constify impl Try for ControlFlow Related to: https://github.com/rust-lang/rust/issues/74935
This commit is contained in:
@@ -99,7 +99,8 @@ pub enum ControlFlow<B, C = ()> {
|
||||
}
|
||||
|
||||
#[unstable(feature = "try_trait_v2", issue = "84277", old_name = "try_trait")]
|
||||
impl<B, C> ops::Try for ControlFlow<B, C> {
|
||||
#[rustc_const_unstable(feature = "const_try", issue = "74935")]
|
||||
impl<B, C> const ops::Try for ControlFlow<B, C> {
|
||||
type Output = C;
|
||||
type Residual = ControlFlow<B, convert::Infallible>;
|
||||
|
||||
@@ -118,9 +119,10 @@ fn branch(self) -> ControlFlow<Self::Residual, Self::Output> {
|
||||
}
|
||||
|
||||
#[unstable(feature = "try_trait_v2", issue = "84277", old_name = "try_trait")]
|
||||
#[rustc_const_unstable(feature = "const_try", issue = "74935")]
|
||||
// Note: manually specifying the residual type instead of using the default to work around
|
||||
// https://github.com/rust-lang/rust/issues/99940
|
||||
impl<B, C> ops::FromResidual<ControlFlow<B, convert::Infallible>> for ControlFlow<B, C> {
|
||||
impl<B, C> const ops::FromResidual<ControlFlow<B, convert::Infallible>> for ControlFlow<B, C> {
|
||||
#[inline]
|
||||
fn from_residual(residual: ControlFlow<B, convert::Infallible>) -> Self {
|
||||
match residual {
|
||||
|
||||
Reference in New Issue
Block a user