Add regression test for #58355

Signed-off-by: Yuki Okushi <jtitor@2k36.org>
This commit is contained in:
Yuki Okushi 2023-01-06 00:24:42 +09:00
parent e94fab69d0
commit b83fa06c56
No known key found for this signature in database
2 changed files with 20 additions and 0 deletions

View File

@ -0,0 +1,7 @@
#![crate_type = "lib"]
pub fn foo(callback: fn() -> dyn ToString) {
let mut x: Option<Box<dyn Fn() -> dyn ToString>> = None;
x = Some(Box::new(callback));
//~^ ERROR: the size for values of type `dyn ToString` cannot be known at compilation time
}

View File

@ -0,0 +1,13 @@
error[E0277]: the size for values of type `dyn ToString` cannot be known at compilation time
--> $DIR/issue-58355.rs:5:14
|
LL | x = Some(Box::new(callback));
| ^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
|
= help: within `fn() -> dyn ToString`, the trait `Sized` is not implemented for `dyn ToString`
= note: required because it appears within the type `fn() -> dyn ToString`
= note: required for the cast from `fn() -> dyn ToString` to the object type `dyn Fn() -> (dyn ToString + 'static)`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0277`.