diff --git a/src/eval.rs b/src/eval.rs index 4ed1b272b228..0cc302b967b2 100644 --- a/src/eval.rs +++ b/src/eval.rs @@ -62,9 +62,8 @@ pub fn create_ecx<'mir, 'tcx: 'mir>( // Setup first stack-frame let main_instance = ty::Instance::mono(tcx, main_id); let main_mir = ecx.load_mir(main_instance.def, None)?; - - if !main_mir.return_ty().is_unit() || main_mir.arg_count != 0 { - throw_unsup_format!("miri does not support main functions without `fn()` type signatures"); + if main_mir.arg_count != 0 { + bug!("main function must not take any arguments"); } let start_id = tcx.lang_items().start_fn().unwrap(); diff --git a/tests/run-pass/main_result.rs b/tests/run-pass/main_result.rs new file mode 100644 index 000000000000..078760ee6667 --- /dev/null +++ b/tests/run-pass/main_result.rs @@ -0,0 +1,3 @@ +fn main() -> Result<(), Box> { + Ok(()) +}