default_value do not take effect when flatten structs which have same struct field name C-bug #4557
Closed
2 tasks done
Labels
C-bug
Category: Updating dependencies
Please complete the following tasks
Rust Version
rustc 1.65.0 (897e37553 2022-11-02)
Clap Version
4.0.29
Minimal reproducible code
Steps to reproduce the bug with the above code
This issue is related with #4556, problem in #4556 also happen in this issue
The difference which is in this case using
default_value
to set default value for args whose name are all the same.just run
Actual Behaviour
Expected Behaviour
should run successfully
Additional Context
A crash error is reported when running development mode
In this case, should running in release mode
Debug Output
warning:
tt
(bin "tt") generated 1 warningFinished release [optimized] target(s) in 11.03s
Running
target/release/tt
error: The following required argument was not provided: name
Usage: tt [OPTIONS]
For more information try '--help'
bytedance@MacBook-Pro-ED tt % cargo run --release
warning: unused import:
Arg
--> src/main.rs:1:21
|
1 | use clap::{command, Arg, Parser};
| ^^^
|
= note:
#[warn(unused_imports)]
on by defaultwarning:
tt
(bin "tt") generated 1 warningFinished release [optimized] target(s) in 0.16s
Running
target/release/tt
[ clap::builder::command] Command::_do_parse
[ clap::builder::command] Command::_build: name="tt"
[ clap::builder::command] Command::_propagate:tt
[ clap::builder::command] Command::_check_help_and_version:tt expand_help_tree=false
[ clap::builder::command] Command::long_help_exists
[ clap::builder::command] Command::_check_help_and_version: Building default --help
[ clap::builder::command] Command::_check_help_and_version: Building default --version
[ clap::builder::command] Command::_propagate_global_args:tt
[ clap::parser::parser] Parser::get_matches_with
[ clap::parser::parser] Parser::add_defaults
[ clap::parser::parser] Parser::add_defaults:iter:name:
[ clap::parser::parser] Parser::add_default_value: doesn't have conditional defaults
[ clap::parser::parser] Parser::add_default_value:iter:name: has default vals
[ clap::parser::parser] Parser::add_default_value:iter:name: wasn't used
[ clap::parser::parser] Parser::react action=Set, identifier=None, source=DefaultValue
[ clap::parser::arg_matcher] ArgMatcher::start_custom_arg: id="name", source=DefaultValue
[ clap::parser::parser] Parser::push_arg_values: [""]
[ clap::parser::parser] Parser::add_single_val_to_arg: cur_idx:=1
[ clap::parser::parser] Parser::add_defaults:iter:name:
[ clap::parser::parser] Parser::add_default_value: doesn't have conditional defaults
[ clap::parser::parser] Parser::add_default_value:iter:name: has default vals
[ clap::parser::parser] Parser::add_default_value:iter:name: was used
[ clap::parser::parser] Parser::add_defaults:iter:help:
[ clap::parser::parser] Parser::add_default_value: doesn't have conditional defaults
[ clap::parser::parser] Parser::add_default_value:iter:help: doesn't have default vals
[ clap::parser::parser] Parser::add_defaults:iter:version:
[ clap::parser::parser] Parser::add_default_value: doesn't have conditional defaults
[ clap::parser::parser] Parser::add_default_value:iter:version: doesn't have default vals
[ clap::parser::validator] Validator::validate
[ clap::parser::validator] Validator::validate_conflicts
[ clap::parser::validator] Validator::validate_exclusive
[ clap::parser::validator] Validator::validate_required: required=ChildGraph([])
[ clap::parser::validator] Validator::gather_requires
[ clap::parser::validator] Validator::validate_required: is_exclusive_present=false
[ clap::parser::arg_matcher] ArgMatcher::get_global_values: global_arg_vec=[]
[ clap::builder::command] Command::_build: name="tt"
[ clap::builder::command] Command::_propagate:tt
[ clap::builder::command] Command::_check_help_and_version:tt expand_help_tree=false
[ clap::builder::command] Command::long_help_exists
[ clap::builder::command] Command::_check_help_and_version: Building default --help
[ clap::builder::command] Command::_check_help_and_version: Building default --version
[ clap::builder::command] Command::_propagate_global_args:tt
[ clap::builder::command] Command::_build: name="tt"
[ clap::builder::command] Command::_build: already built
[ clap::output::usage] Usage::create_usage_with_title
[ clap::output::usage] Usage::create_usage_no_title
[ clap::output::usage] Usage::create_help_usage; incl_reqs=true
[ clap::output::usage] Usage::needs_options_tag
[ clap::output::usage] Usage::needs_options_tag:iter: f=name
[ clap::builder::command] Command::groups_for_arg: id="name"
[ clap::output::usage] Usage::needs_options_tag:iter:iter: grp_s="RedisConfig"
[ clap::output::usage] Usage::needs_options_tag:iter:iter: grp_s="DatabaseConfig"
[ clap::output::usage] Usage::needs_options_tag:iter: [OPTIONS] required
[ clap::output::usage] Usage::get_args: incls=[]
[ clap::output::usage] Usage::get_args: unrolled_reqs=[]
[ clap::output::usage] Usage::get_args: ret_val=[]
[ clap::output::usage] Usage::create_help_usage: usage=tt [OPTIONS]
[ clap::builder::command] Command::color: Color setting...
[ clap::builder::command] Auto
[ clap::builder::command] Command::color: Color setting...
[ clap::builder::command] Auto
error: The following required argument was not provided: name
Usage: tt [OPTIONS]
For more information try '--help'
The text was updated successfully, but these errors were encountered: