From cb4751d4b87e1c8ebdeb381abe3785486a59968e Mon Sep 17 00:00:00 2001 From: Oli Scherer Date: Fri, 26 Jul 2024 10:04:02 +0000 Subject: Implement `#[define_opaque]` attribute for functions. --- compiler/rustc_error_codes/src/error_codes/E0792.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'compiler/rustc_error_codes') diff --git a/compiler/rustc_error_codes/src/error_codes/E0792.md b/compiler/rustc_error_codes/src/error_codes/E0792.md index 5e3dcc4aa72..033e1c65192 100644 --- a/compiler/rustc_error_codes/src/error_codes/E0792.md +++ b/compiler/rustc_error_codes/src/error_codes/E0792.md @@ -7,6 +7,7 @@ This means type Foo = impl std::fmt::Debug; +#[define_opaque(Foo)] fn foo() -> Foo { 5u32 } @@ -19,6 +20,7 @@ is not accepted. If it were accepted, one could create unsound situations like type Foo = impl Default; +#[define_opaque(Foo)] fn foo() -> Foo { 5u32 } @@ -36,6 +38,7 @@ Instead you need to make the function generic: type Foo = impl std::fmt::Debug; +#[define_opaque(Foo)] fn foo() -> Foo { 5u32 } @@ -56,6 +59,7 @@ use std::fmt::Debug; type Foo = impl Debug; +#[define_opaque(Foo)] fn foo() -> Foo { Vec::::new() } -- cgit 1.4.1-3-g733a5