blob: 2e68a3a652a355a3ba49c1764eef48cb0391cf6f [file]
#![allow(rust_2021_compatibility)]
pub trait Foo {}
struct FooA {}
impl Foo for FooA {}
struct FooB {}
impl Foo for FooB {}
// dyn keyword is available in 2018+
pub fn make_foo(value: i32) -> Box<dyn Foo> {
match value {
// Unsupported in 2021+, should be 0..=42
0...42 => Box::new(FooA{}),
_ => Box::new(FooB{}),
}
}