diff options
Diffstat (limited to 'tests/ui/inference/detect-old-time-version-format_description-parse.rs')
| -rw-r--r-- | tests/ui/inference/detect-old-time-version-format_description-parse.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tests/ui/inference/detect-old-time-version-format_description-parse.rs b/tests/ui/inference/detect-old-time-version-format_description-parse.rs index 453a795e768..386b2a3bf3c 100644 --- a/tests/ui/inference/detect-old-time-version-format_description-parse.rs +++ b/tests/ui/inference/detect-old-time-version-format_description-parse.rs @@ -1,8 +1,13 @@ #![crate_name = "time"] +#![crate_type = "lib"] -fn main() { - let items = Box::new(vec![]); //~ ERROR E0282 +// This code compiled without error in Rust 1.79, but started failing in 1.80 +// after the addition of several `impl FromIterator<_> for Box<str>`. + +pub fn parse() -> Option<Vec<()>> { + let iter = std::iter::once(Some(())).map(|o| o.map(Into::into)); + let items = iter.collect::<Option<Box<_>>>()?; //~ ERROR E0282 + //~^ NOTE this is an inference error on crate `time` caused by an API change in Rust 1.80.0; update `time` to version `>=0.3.35` + Some(items.into()) //~^ NOTE type must be known at this point - //~| NOTE this is an inference error on crate `time` caused by an API change in Rust 1.80.0; update `time` to version `>=0.3.35` - items.into(); } |
