Upgrade rust/crates/structopt to 0.3.21

Test: make
Change-Id: I8b7f385accd0609f9b56cc77c55af99ca40c5241
diff --git a/tests/argument_naming.rs b/tests/argument_naming.rs
old mode 100755
new mode 100644
diff --git a/tests/arguments.rs b/tests/arguments.rs
old mode 100755
new mode 100644
diff --git a/tests/author_version_about.rs b/tests/author_version_about.rs
old mode 100755
new mode 100644
diff --git a/tests/custom-string-parsers.rs b/tests/custom-string-parsers.rs
old mode 100755
new mode 100644
diff --git a/tests/default_value.rs b/tests/default_value.rs
old mode 100755
new mode 100644
diff --git a/tests/deny-warnings.rs b/tests/deny-warnings.rs
old mode 100755
new mode 100644
diff --git a/tests/doc-comments-help.rs b/tests/doc-comments-help.rs
old mode 100755
new mode 100644
diff --git a/tests/explicit_name_no_renaming.rs b/tests/explicit_name_no_renaming.rs
old mode 100755
new mode 100644
diff --git a/tests/flags.rs b/tests/flags.rs
old mode 100755
new mode 100644
diff --git a/tests/flatten.rs b/tests/flatten.rs
old mode 100755
new mode 100644
diff --git a/tests/issues.rs b/tests/issues.rs
old mode 100755
new mode 100644
diff --git a/tests/macro-errors.rs b/tests/macro-errors.rs
old mode 100755
new mode 100644
diff --git a/tests/nested-subcommands.rs b/tests/nested-subcommands.rs
old mode 100755
new mode 100644
diff --git a/tests/non_literal_attributes.rs b/tests/non_literal_attributes.rs
old mode 100755
new mode 100644
diff --git a/tests/options.rs b/tests/options.rs
old mode 100755
new mode 100644
diff --git a/tests/privacy.rs b/tests/privacy.rs
old mode 100755
new mode 100644
diff --git a/tests/raw_bool_literal.rs b/tests/raw_bool_literal.rs
old mode 100755
new mode 100644
diff --git a/tests/raw_idents.rs b/tests/raw_idents.rs
old mode 100755
new mode 100644
diff --git a/tests/regressions.rs b/tests/regressions.rs
old mode 100755
new mode 100644
index 876e7ed..3847dc2
--- a/tests/regressions.rs
+++ b/tests/regressions.rs
@@ -23,3 +23,23 @@
     assert!(!help.contains("--x <x>"));
     Opts::from_iter_safe(&["test", "--x"]).unwrap();
 }
+
+#[test]
+fn issue_447() {
+    macro_rules! Command {
+        ( $name:ident, [
+        #[$meta:meta] $var:ident($inner:ty)
+      ] ) => {
+            #[derive(Debug, PartialEq, structopt::StructOpt)]
+            enum $name {
+                #[$meta]
+                $var($inner),
+            }
+        };
+    }
+
+    Command! {GitCmd, [
+      #[structopt(external_subcommand)]
+      Ext(Vec<String>)
+    ]}
+}
diff --git a/tests/rename_all_env.rs b/tests/rename_all_env.rs
old mode 100755
new mode 100644
diff --git a/tests/skip.rs b/tests/skip.rs
old mode 100755
new mode 100644
diff --git a/tests/special_types.rs b/tests/special_types.rs
old mode 100755
new mode 100644
diff --git a/tests/subcommands.rs b/tests/subcommands.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/bool_default_value.rs b/tests/ui/bool_default_value.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/bool_default_value.stderr b/tests/ui/bool_default_value.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/bool_required.rs b/tests/ui/bool_required.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/bool_required.stderr b/tests/ui/bool_required.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/enum_flatten.rs b/tests/ui/enum_flatten.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/enum_flatten.stderr b/tests/ui/enum_flatten.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/external_subcommand_wrong_type.rs b/tests/ui/external_subcommand_wrong_type.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/external_subcommand_wrong_type.stderr b/tests/ui/external_subcommand_wrong_type.stderr
old mode 100755
new mode 100644
index 1966225..73f12d2
--- a/tests/ui/external_subcommand_wrong_type.stderr
+++ b/tests/ui/external_subcommand_wrong_type.stderr
@@ -2,7 +2,7 @@
   --> $DIR/external_subcommand_wrong_type.rs:13:15
    |
 13 |     Other(Vec<CString>)
-   |               ^^^^^^^ expected struct `std::ffi::CString`, found struct `std::ffi::OsString`
+   |               ^^^^^^^ expected struct `CString`, found struct `OsString`
    |
-   = note: expected struct `std::vec::Vec<std::ffi::CString>`
-              found struct `std::vec::Vec<std::ffi::OsString>`
+   = note: expected struct `Vec<CString>`
+              found struct `Vec<OsString>`
diff --git a/tests/ui/flatten_and_methods.rs b/tests/ui/flatten_and_methods.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/flatten_and_methods.stderr b/tests/ui/flatten_and_methods.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/flatten_and_parse.rs b/tests/ui/flatten_and_parse.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/flatten_and_parse.stderr b/tests/ui/flatten_and_parse.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/multiple_external_subcommand.rs b/tests/ui/multiple_external_subcommand.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/multiple_external_subcommand.stderr b/tests/ui/multiple_external_subcommand.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/non_existent_attr.rs b/tests/ui/non_existent_attr.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/non_existent_attr.stderr b/tests/ui/non_existent_attr.stderr
old mode 100755
new mode 100644
index e5edb56..61f784e
--- a/tests/ui/non_existent_attr.stderr
+++ b/tests/ui/non_existent_attr.stderr
@@ -1,5 +1,5 @@
-error[E0599]: no method named `non_existing_attribute` found for struct `structopt::clap::Arg<'_, '_>` in the current scope
+error[E0599]: no method named `non_existing_attribute` found for struct `Arg<'_, '_>` in the current scope
   --> $DIR/non_existent_attr.rs:14:24
    |
 14 |     #[structopt(short, non_existing_attribute = 1)]
-   |                        ^^^^^^^^^^^^^^^^^^^^^^ method not found in `structopt::clap::Arg<'_, '_>`
+   |                        ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Arg<'_, '_>`
diff --git a/tests/ui/opt_opt_nonpositional.rs b/tests/ui/opt_opt_nonpositional.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/opt_opt_nonpositional.stderr b/tests/ui/opt_opt_nonpositional.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/opt_vec_nonpositional.rs b/tests/ui/opt_vec_nonpositional.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/opt_vec_nonpositional.stderr b/tests/ui/opt_vec_nonpositional.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/option_default_value.rs b/tests/ui/option_default_value.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/option_default_value.stderr b/tests/ui/option_default_value.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/option_required.rs b/tests/ui/option_required.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/option_required.stderr b/tests/ui/option_required.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/parse_empty_try_from_os.rs b/tests/ui/parse_empty_try_from_os.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/parse_empty_try_from_os.stderr b/tests/ui/parse_empty_try_from_os.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/parse_function_is_not_path.rs b/tests/ui/parse_function_is_not_path.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/parse_function_is_not_path.stderr b/tests/ui/parse_function_is_not_path.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/parse_literal_spec.rs b/tests/ui/parse_literal_spec.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/parse_literal_spec.stderr b/tests/ui/parse_literal_spec.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/parse_not_zero_args.rs b/tests/ui/parse_not_zero_args.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/parse_not_zero_args.stderr b/tests/ui/parse_not_zero_args.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/positional_bool.rs b/tests/ui/positional_bool.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/positional_bool.stderr b/tests/ui/positional_bool.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/raw.rs b/tests/ui/raw.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/raw.stderr b/tests/ui/raw.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/rename_all_wrong_casing.rs b/tests/ui/rename_all_wrong_casing.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/rename_all_wrong_casing.stderr b/tests/ui/rename_all_wrong_casing.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/skip_flatten.rs b/tests/ui/skip_flatten.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/skip_flatten.stderr b/tests/ui/skip_flatten.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/skip_subcommand.rs b/tests/ui/skip_subcommand.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/skip_subcommand.stderr b/tests/ui/skip_subcommand.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/skip_with_other_options.rs b/tests/ui/skip_with_other_options.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/skip_with_other_options.stderr b/tests/ui/skip_with_other_options.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/skip_without_default.rs b/tests/ui/skip_without_default.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/skip_without_default.stderr b/tests/ui/skip_without_default.stderr
old mode 100755
new mode 100644
index 330898f..b5d702a
--- a/tests/ui/skip_without_default.stderr
+++ b/tests/ui/skip_without_default.stderr
@@ -1,9 +1,7 @@
-error[E0277]: the trait bound `Kind: std::default::Default` is not satisfied
+error[E0277]: the trait bound `Kind: Default` is not satisfied
   --> $DIR/skip_without_default.rs:22:17
    |
 22 |     #[structopt(skip)]
-   |                 ^^^^ the trait `std::default::Default` is not implemented for `Kind`
+   |                 ^^^^ the trait `Default` is not implemented for `Kind`
    |
    = note: required by `std::default::Default::default`
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/struct_parse.rs b/tests/ui/struct_parse.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/struct_parse.stderr b/tests/ui/struct_parse.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/struct_subcommand.rs b/tests/ui/struct_subcommand.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/struct_subcommand.stderr b/tests/ui/struct_subcommand.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/structopt_empty_attr.rs b/tests/ui/structopt_empty_attr.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/structopt_empty_attr.stderr b/tests/ui/structopt_empty_attr.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/structopt_name_value_attr.rs b/tests/ui/structopt_name_value_attr.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/structopt_name_value_attr.stderr b/tests/ui/structopt_name_value_attr.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/subcommand_and_flatten.rs b/tests/ui/subcommand_and_flatten.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/subcommand_and_flatten.stderr b/tests/ui/subcommand_and_flatten.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/subcommand_and_methods.rs b/tests/ui/subcommand_and_methods.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/subcommand_and_methods.stderr b/tests/ui/subcommand_and_methods.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/subcommand_and_parse.rs b/tests/ui/subcommand_and_parse.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/subcommand_and_parse.stderr b/tests/ui/subcommand_and_parse.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/subcommand_opt_opt.rs b/tests/ui/subcommand_opt_opt.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/subcommand_opt_opt.stderr b/tests/ui/subcommand_opt_opt.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/subcommand_opt_vec.rs b/tests/ui/subcommand_opt_vec.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/subcommand_opt_vec.stderr b/tests/ui/subcommand_opt_vec.stderr
old mode 100755
new mode 100644
diff --git a/tests/ui/tuple_struct.rs b/tests/ui/tuple_struct.rs
old mode 100755
new mode 100644
diff --git a/tests/ui/tuple_struct.stderr b/tests/ui/tuple_struct.stderr
old mode 100755
new mode 100644
diff --git a/tests/utils.rs b/tests/utils.rs
old mode 100755
new mode 100644
diff --git a/tests/we_need_syn_full.rs b/tests/we_need_syn_full.rs
old mode 100755
new mode 100644