blob: ce0a3cf704bbf7d55db5347669f404e7fa99d8a8 [file] [log] [blame]
// rustfmt-edition: 2018
#![feature(try_blocks_heterogeneous)]
fn main() -> Result<(), !> {
let _x = try bikeshed Option<_> { 4 };
try bikeshed Result<_, _> {}
}
fn baz() -> Option<i32> {
if (1 == 1) {
return try bikeshed Option<i32> { 5 };
}
// test
let x = try bikeshed Option<()> {
// try blocks are great
};
let y = try bikeshed Option<i32> { 6 }; // comment
let x = try /* Invisible comment */ bikeshed Option<()> {};
let x = try bikeshed /* Invisible comment */ Option<()> {};
let x = try bikeshed Option<()> /* Invisible comment */ {};
let x = try bikeshed Option<i32> {
baz()?;
baz()?;
baz()?;
7
};
let x = try bikeshed Foo<Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar> {
1 + 1 + 1
};
let x =
try bikeshed Foo<Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar, Bar> {};
let x = try bikeshed Result<
VeryVeryVeryVeryVeryLongTypeForSuccess,
VeryVeryVeryVeryVeryLongTypeForFailure,
> {
};
let _ = overflowed_expr(x, try bikeshed Option<_> {
foo()?;
bar()?;
});
return None;
}