Finished dev [unoptimized + debuginfo] target(s) in 0.05s Running `target/debug/clap_test a b c --flag2 --flag1` [ clap::build::app] App::_do_parse [ clap::build::app] App::_build [ clap::build::app] App::_propagate:clap_test [ clap::build::app] App::_check_help_and_version [ clap::build::app] App::_check_help_and_version: Removing generated version [ clap::build::app] App::_check_help_and_version: Building help subcommand [ clap::build::app] App::_propagate_global_args:clap_test [ clap::build::app] App::_derive_display_order:clap_test [ clap::build::app] App::_derive_display_order:a [ clap::build::app] App::_derive_display_order:b [ clap::build::app] App::_derive_display_order:c [ clap::build::app] App::_derive_display_order:help [clap::build::app::debug_asserts] App::_debug_asserts [clap::build::arg::debug_asserts] Arg::_debug_asserts:help [clap::build::app::debug_asserts] App::_verify_positionals [ clap::parse::parser] Parser::get_matches_with [ clap::parse::parser] Parser::get_matches_with: Begin parsing 'RawOsStr("a")' ([97]) [ clap::parse::parser] Parser::get_matches_with: Positional counter...1 [ clap::parse::parser] Parser::get_matches_with: Low index multiples...false [ clap::parse::parser] Parser::possible_subcommand: arg=RawOsStr("a") [ clap::parse::parser] Parser::get_matches_with: sc=Some("a") [ clap::parse::parser] Parser::parse_subcommand [ clap::output::usage] Usage::get_required_usage_from: incls=[], matcher=false, incl_last=true [ clap::output::usage] Usage::get_required_usage_from: unrolled_reqs={} [ clap::output::usage] Usage::get_required_usage_from: ret_val=[] [ clap::build::app] App::_build [ clap::build::app] App::_propagate:a [ clap::build::app] App::_check_help_and_version [ clap::build::app] App::_check_help_and_version: Removing generated version [ clap::build::app] App::_check_help_and_version: Building help subcommand [ clap::build::app] App::_propagate_global_args:a [ clap::build::app] App::_derive_display_order:a [ clap::build::app] App::_derive_display_order:b [ clap::build::app] App::_derive_display_order:c [ clap::build::app] App::_derive_display_order:help [clap::build::app::debug_asserts] App::_debug_asserts [clap::build::arg::debug_asserts] Arg::_debug_asserts:flag1 [clap::build::arg::debug_asserts] Arg::_debug_asserts:help [clap::build::app::debug_asserts] App::_verify_positionals [ clap::parse::parser] Parser::parse_subcommand: About to parse sc=a [ clap::parse::parser] Parser::get_matches_with [ clap::parse::parser] Parser::get_matches_with: Begin parsing 'RawOsStr("b")' ([98]) [ clap::parse::parser] Parser::get_matches_with: Positional counter...1 [ clap::parse::parser] Parser::get_matches_with: Low index multiples...false [ clap::parse::parser] Parser::possible_subcommand: arg=RawOsStr("b") [ clap::parse::parser] Parser::get_matches_with: sc=Some("b") [ clap::parse::parser] Parser::parse_subcommand [ clap::output::usage] Usage::get_required_usage_from: incls=[], matcher=false, incl_last=true [ clap::output::usage] Usage::get_required_usage_from: unrolled_reqs={} [ clap::output::usage] Usage::get_required_usage_from: ret_val=[] [ clap::build::app] App::_build [ clap::build::app] App::_propagate:b [ clap::build::app] App::_check_help_and_version [ clap::build::app] App::_check_help_and_version: Removing generated version [ clap::build::app] App::_check_help_and_version: Building help subcommand [ clap::build::app] App::_propagate_global_args:b [ clap::build::app] App::_derive_display_order:b [ clap::build::app] App::_derive_display_order:c [ clap::build::app] App::_derive_display_order:help [clap::build::app::debug_asserts] App::_debug_asserts [clap::build::arg::debug_asserts] Arg::_debug_asserts:flag2 [clap::build::arg::debug_asserts] Arg::_debug_asserts:flag1 [clap::build::arg::debug_asserts] Arg::_debug_asserts:help [clap::build::app::debug_asserts] App::_verify_positionals [ clap::parse::parser] Parser::parse_subcommand: About to parse sc=b [ clap::parse::parser] Parser::get_matches_with [ clap::parse::parser] Parser::get_matches_with: Begin parsing 'RawOsStr("c")' ([99]) [ clap::parse::parser] Parser::get_matches_with: Positional counter...1 [ clap::parse::parser] Parser::get_matches_with: Low index multiples...false [ clap::parse::parser] Parser::possible_subcommand: arg=RawOsStr("c") [ clap::parse::parser] Parser::get_matches_with: sc=Some("c") [ clap::parse::parser] Parser::parse_subcommand [ clap::output::usage] Usage::get_required_usage_from: incls=[], matcher=false, incl_last=true [ clap::output::usage] Usage::get_required_usage_from: unrolled_reqs={} [ clap::output::usage] Usage::get_required_usage_from: ret_val=[] [ clap::build::app] App::_build [ clap::build::app] App::_propagate:c [ clap::build::app] App::_check_help_and_version [ clap::build::app] App::_check_help_and_version: Removing generated version [ clap::build::app] App::_propagate_global_args:c [ clap::build::app] App::_derive_display_order:c [clap::build::app::debug_asserts] App::_debug_asserts [clap::build::arg::debug_asserts] Arg::_debug_asserts:flag2 [clap::build::arg::debug_asserts] Arg::_debug_asserts:flag1 [clap::build::arg::debug_asserts] Arg::_debug_asserts:help [clap::build::app::debug_asserts] App::_verify_positionals [ clap::parse::parser] Parser::parse_subcommand: About to parse sc=c [ clap::parse::parser] Parser::get_matches_with [ clap::parse::parser] Parser::get_matches_with: Begin parsing 'RawOsStr("--flag2")' ([45, 45, 102, 108, 97, 103, 50]) [ clap::parse::parser] Parser::get_matches_with: Positional counter...1 [ clap::parse::parser] Parser::get_matches_with: Low index multiples...false [ clap::parse::parser] Parser::possible_subcommand: arg=RawOsStr("--flag2") [ clap::parse::parser] Parser::get_matches_with: sc=None [ clap::parse::parser] Parser::parse_long_arg [ clap::parse::parser] Parser::parse_long_arg: cur_idx:=1 [ clap::parse::parser] Parser::parse_long_arg: Does it contain '='... [ clap::parse::parser] No [ clap::parse::parser] Parser::parse_long_arg: Found valid opt or flag '--flag2' [ clap::parse::parser] Parser::check_for_help_and_version_str [ clap::parse::parser] Parser::check_for_help_and_version_str: Checking if --RawOsStr("flag2") is help or version... [ clap::parse::parser] Neither [ clap::parse::parser] Parser::parse_long_arg: Presence validated [ clap::parse::parser] Parser::parse_flag [ clap::parse::parser] Parser::remove_overrides: id=flag2 [ clap::parse::arg_matcher] ArgMatcher::inc_occurrence_of_arg: id=flag2 [ clap::build::app] App::groups_for_arg: id=flag2 [ clap::parse::parser] Parser::get_matches_with: After parse_long_arg ValuesDone [ clap::parse::parser] Parser::get_matches_with: Begin parsing 'RawOsStr("--flag1")' ([45, 45, 102, 108, 97, 103, 49]) [ clap::parse::parser] Parser::get_matches_with: Positional counter...1 [ clap::parse::parser] Parser::get_matches_with: Low index multiples...false [ clap::parse::parser] Parser::possible_subcommand: arg=RawOsStr("--flag1") [ clap::parse::parser] Parser::get_matches_with: sc=None [ clap::parse::parser] Parser::parse_long_arg [ clap::parse::parser] Parser::parse_long_arg: cur_idx:=2 [ clap::parse::parser] Parser::parse_long_arg: Does it contain '='... [ clap::parse::parser] No [ clap::parse::parser] Parser::parse_long_arg: Found valid opt or flag '--flag1' [ clap::parse::parser] Parser::check_for_help_and_version_str [ clap::parse::parser] Parser::check_for_help_and_version_str: Checking if --RawOsStr("flag1") is help or version... [ clap::parse::parser] Neither [ clap::parse::parser] Parser::parse_long_arg: Presence validated [ clap::parse::parser] Parser::parse_flag [ clap::parse::parser] Parser::remove_overrides: id=flag1 [ clap::parse::arg_matcher] ArgMatcher::inc_occurrence_of_arg: id=flag1 [ clap::build::app] App::groups_for_arg: id=flag1 [ clap::parse::parser] Parser::get_matches_with: After parse_long_arg ValuesDone [ clap::parse::validator] Validator::validate [ clap::parse::parser] Parser::add_defaults [ clap::parse::validator] Validator::validate_conflicts [ clap::parse::validator] Validator::validate_exclusive [ clap::parse::validator] Validator::validate_exclusive:iter:flag2 [ clap::parse::validator] Validator::validate_exclusive:iter:flag1 [ clap::parse::validator] Validator::validate_conflicts::iter: id=flag2 [ clap::parse::validator] Conflicts::gather_conflicts [ clap::build::app] App::groups_for_arg: id=flag2 [ clap::parse::validator] Conflicts::gather_direct_conflicts id=flag2, conflicts=[] [ clap::build::app] App::groups_for_arg: id=flag1 [ clap::parse::validator] Conflicts::gather_direct_conflicts id=flag1, conflicts=[] [ clap::parse::validator] Validator::validate_conflicts::iter: id=flag1 [ clap::parse::validator] Conflicts::gather_conflicts [ clap::parse::validator] Validator::validate_required: required=ChildGraph([]) [ clap::parse::validator] Validator::gather_requirements [ clap::parse::validator] Validator::gather_requirements:iter:flag2 [ clap::parse::validator] Validator::gather_requirements:iter:flag1 [ clap::parse::validator] Validator::validate_required_unless [ clap::parse::validator] Validator::validate_matched_args [ clap::parse::validator] Validator::validate_matched_args:iter:flag2: vals=Flatten { inner: FlattenCompat { iter: Fuse { iter: Some( Iter( [], ), ), }, frontiter: None, backiter: None, }, } [ clap::parse::validator] Validator::validate_arg_num_vals [ clap::parse::validator] Validator::validate_arg_values: arg="flag2" [ clap::parse::validator] Validator::validate_arg_num_occurs: "flag2"=1 [ clap::parse::validator] Validator::validate_matched_args:iter:flag1: vals=Flatten { inner: FlattenCompat { iter: Fuse { iter: Some( Iter( [], ), ), }, frontiter: None, backiter: None, }, } [ clap::parse::validator] Validator::validate_arg_num_vals [ clap::parse::validator] Validator::validate_arg_values: arg="flag1" [ clap::parse::validator] Validator::validate_arg_num_occurs: "flag1"=1 [ clap::parse::validator] Validator::validate [ clap::parse::parser] Parser::add_defaults [ clap::parse::validator] Validator::validate_conflicts [ clap::parse::validator] Validator::validate_exclusive [ clap::parse::validator] Validator::validate_required: required=ChildGraph([]) [ clap::parse::validator] Validator::gather_requirements [ clap::parse::validator] Validator::validate_required_unless [ clap::parse::validator] Validator::validate_matched_args [ clap::parse::validator] Validator::validate [ clap::parse::parser] Parser::add_defaults [ clap::parse::validator] Validator::validate_conflicts [ clap::parse::validator] Validator::validate_exclusive [ clap::parse::validator] Validator::validate_required: required=ChildGraph([]) [ clap::parse::validator] Validator::gather_requirements [ clap::parse::validator] Validator::validate_required_unless [ clap::parse::validator] Validator::validate_matched_args [ clap::parse::validator] Validator::validate [ clap::parse::parser] Parser::add_defaults [ clap::parse::validator] Validator::validate_conflicts [ clap::parse::validator] Validator::validate_exclusive [ clap::parse::validator] Validator::validate_required: required=ChildGraph([]) [ clap::parse::validator] Validator::gather_requirements [ clap::parse::validator] Validator::validate_required_unless [ clap::parse::validator] Validator::validate_matched_args [ clap::parse::arg_matcher] ArgMatcher::get_global_values: global_arg_vec=[help, flag1, help] [src/main.rs:42] options = Options { command: A( Command1AOptions { command: B { command: C( Command3COptions, ), flag2: false, }, flag1: true, }, ), }