diff --git a/src/build/debug_asserts.rs b/src/build/debug_asserts.rs index 76bc0a96f09..7b470d84316 100644 --- a/src/build/debug_asserts.rs +++ b/src/build/debug_asserts.rs @@ -301,6 +301,17 @@ pub(crate) fn assert_app(cmd: &Command) { group.name, ); + for arg in &group.args { + // Args listed inside groups should exist + assert!( + cmd.get_arguments().any(|x| x.id == *arg), + "Command {}: Argument group '{}' contains non-existent argument '{:?}'", + cmd.get_name(), + group.name, + arg + ); + } + // Required groups should have at least one arg without default values if group.required && !group.args.is_empty() { assert!( @@ -313,17 +324,6 @@ pub(crate) fn assert_app(cmd: &Command) { group.name ) } - - for arg in &group.args { - // Args listed inside groups should exist - assert!( - cmd.get_arguments().any(|x| x.id == *arg), - "Command {}: Argument group '{}' contains non-existent argument '{:?}'", - cmd.get_name(), - group.name, - arg - ); - } } // Conflicts between flags and subcommands