Mark ab/6881855 as merged

Bug: 172690556
Change-Id: I063a70e586fd2c8b6a91d4714ffc2c759c30f685
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index bb978e8..ae54c03 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,5 +1,5 @@
 {
   "git": {
-    "sha1": "ff542c67023cbddbb2198df4087abc6aa6c8d5b7"
+    "sha1": "6fa8d68298eab6b4eb94b4b40ce64992b20c7263"
   }
 }
diff --git a/.gitignore b/.gitignore
old mode 100644
new mode 100755
diff --git a/.travis.yml b/.travis.yml
old mode 100644
new mode 100755
diff --git a/Android.bp b/Android.bp
index 595a2f2..790b4ff 100644
--- a/Android.bp
+++ b/Android.bp
@@ -6,16 +6,12 @@
     crate_name: "structopt",
     srcs: ["src/lib.rs"],
     edition: "2018",
-    features: [
-        "default",
-    ],
+    features: ["default"],
     rustlibs: [
         "libclap",
         "liblazy_static",
     ],
-    proc_macros: [
-        "libstructopt_derive",
-    ],
+    proc_macros: ["libstructopt_derive"],
 }
 
 // dependent_library ["feature_list"]
@@ -25,14 +21,14 @@
 //   clap-2.33.3 "ansi_term,atty,color,default,strsim,suggestions,vec_map"
 //   heck-0.3.1
 //   lazy_static-1.4.0
-//   libc-0.2.77
+//   libc-0.2.80
 //   proc-macro-error-1.0.4 "default,syn,syn-error"
 //   proc-macro-error-attr-1.0.4
-//   proc-macro2-1.0.21 "default,proc-macro"
+//   proc-macro2-1.0.24 "default,proc-macro"
 //   quote-1.0.7 "default,proc-macro"
 //   strsim-0.8.0
-//   structopt-derive-0.4.11
-//   syn-1.0.41 "clone-impls,default,derive,full,parsing,printing,proc-macro,quote,visit"
+//   structopt-derive-0.4.13
+//   syn-1.0.48 "clone-impls,default,derive,full,parsing,printing,proc-macro,quote,visit"
 //   textwrap-0.11.0
 //   unicode-segmentation-1.6.0
 //   unicode-width-0.1.8 "default"
diff --git a/CHANGELOG.md b/CHANGELOG.md
old mode 100644
new mode 100755
index ae28950..ccdde68
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,13 @@
+# v0.3.20 (2020-10-12)
+
+* Fixed [a breakage](https://github.com/TeXitoi/structopt/issues/439)
+  when the struct is placed inside a `macro_rules!` macro.
+
+# v0.3.19 (2020-10-08)
+
+* Added [StructOpt::from_args_safe](https://docs.rs/structopt/0.3/structopt/trait.StructOpt.html#tymethod.from_args_safe) as a shortcut for `StructOpt::from_iter_safe(std::env::args_os())`.
+* Some links in documentation have been corrected.
+
 # v0.3.18 (2020-09-23)
 
 * Unsafe code [has been forbidden](https://github.com/TeXitoi/structopt/issues/432). This makes
diff --git a/Cargo.toml b/Cargo.toml
index 0b796d0..8ccdd09 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,7 +13,7 @@
 [package]
 edition = "2018"
 name = "structopt"
-version = "0.3.18"
+version = "0.3.20"
 authors = ["Guillaume Pinot <texitoi@texitoi.eu>", "others"]
 description = "Parse command line argument by defining a struct."
 documentation = "https://docs.rs/structopt"
@@ -35,7 +35,7 @@
 package = "paw"
 
 [dependencies.structopt-derive]
-version = "=0.4.11"
+version = "=0.4.13"
 [dev-dependencies.rustversion]
 version = "1"
 
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
old mode 100644
new mode 100755
index 9fc207a..7c4efaf
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
 [package]
 name = "structopt"
-version = "0.3.18"
+version = "0.3.20"
 edition = "2018"
 authors = ["Guillaume Pinot <texitoi@texitoi.eu>", "others"]
 description = "Parse command line argument by defining a struct."
@@ -28,7 +28,7 @@
 
 [dependencies]
 clap = { version = "2.33", default-features = false }
-structopt-derive = { path = "structopt-derive", version = "=0.4.11" }
+structopt-derive = { path = "structopt-derive", version = "=0.4.13" }
 lazy_static = "1.4.0"
 paw_dep = { version = "1", optional = true, package = "paw" }
 
diff --git a/LICENSE-APACHE b/LICENSE-APACHE
old mode 100644
new mode 100755
diff --git a/LICENSE-MIT b/LICENSE-MIT
old mode 100644
new mode 100755
diff --git a/METADATA b/METADATA
index b6bc6ff..b4901c8 100644
--- a/METADATA
+++ b/METADATA
@@ -7,13 +7,13 @@
   }
   url {
     type: ARCHIVE
-    value: "https://static.crates.io/crates/structopt/structopt-0.3.18.crate"
+    value: "https://static.crates.io/crates/structopt/structopt-0.3.20.crate"
   }
-  version: "0.3.18"
+  version: "0.3.20"
   license_type: NOTICE
   last_upgrade_date {
     year: 2020
-    month: 9
-    day: 23
+    month: 10
+    day: 26
   }
 }
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
diff --git a/examples/README.md b/examples/README.md
old mode 100644
new mode 100755
diff --git a/examples/after_help.rs b/examples/after_help.rs
old mode 100644
new mode 100755
diff --git a/examples/at_least_two.rs b/examples/at_least_two.rs
old mode 100644
new mode 100755
diff --git a/examples/basic.rs b/examples/basic.rs
old mode 100644
new mode 100755
diff --git a/examples/deny_missing_docs.rs b/examples/deny_missing_docs.rs
old mode 100644
new mode 100755
diff --git a/examples/doc_comments.rs b/examples/doc_comments.rs
old mode 100644
new mode 100755
diff --git a/examples/enum_in_args.rs b/examples/enum_in_args.rs
old mode 100644
new mode 100755
diff --git a/examples/enum_tuple.rs b/examples/enum_tuple.rs
old mode 100644
new mode 100755
diff --git a/examples/env.rs b/examples/env.rs
old mode 100644
new mode 100755
diff --git a/examples/example.rs b/examples/example.rs
old mode 100644
new mode 100755
diff --git a/examples/flatten.rs b/examples/flatten.rs
old mode 100644
new mode 100755
diff --git a/examples/gen_completions.rs b/examples/gen_completions.rs
old mode 100644
new mode 100755
index 4f35b07..6dbd97f
--- a/examples/gen_completions.rs
+++ b/examples/gen_completions.rs
@@ -19,7 +19,7 @@
 
 fn main() {
     // generate `bash` completions in "target" directory
-    Opt::clap().gen_completions(env!("CARGO_PKG_NAME"), Shell::Bash, "target");
+    Opt::clap().gen_completions("structopt", Shell::Bash, "target");
 
     let opt = Opt::from_args();
     println!("{:?}", opt);
diff --git a/examples/git.rs b/examples/git.rs
old mode 100644
new mode 100755
diff --git a/examples/group.rs b/examples/group.rs
old mode 100644
new mode 100755
diff --git a/examples/keyvalue.rs b/examples/keyvalue.rs
old mode 100644
new mode 100755
diff --git a/examples/negative_flag.rs b/examples/negative_flag.rs
old mode 100644
new mode 100755
diff --git a/examples/no_version.rs b/examples/no_version.rs
old mode 100644
new mode 100755
diff --git a/examples/rename_all.rs b/examples/rename_all.rs
old mode 100644
new mode 100755
diff --git a/examples/required_if.rs b/examples/required_if.rs
old mode 100644
new mode 100755
diff --git a/examples/skip.rs b/examples/skip.rs
old mode 100644
new mode 100755
diff --git a/examples/subcommand_aliases.rs b/examples/subcommand_aliases.rs
old mode 100644
new mode 100755
diff --git a/examples/true_or_false.rs b/examples/true_or_false.rs
old mode 100644
new mode 100755
diff --git a/link-check-headers.json b/link-check-headers.json
old mode 100644
new mode 100755
diff --git a/src/lib.rs b/src/lib.rs
old mode 100644
new mode 100755
index c51277a..fb4ad85
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -309,7 +309,7 @@
 //!
 //!     Usable only on field-level.
 //!
-//! - [`rename_all_env`](##auto-deriving-environment-variables):
+//! - [`rename_all_env`](#auto-deriving-environment-variables):
 //!     [`rename_all_env = "kebab"/"snake"/"screaming-snake"/"camel"/"pascal"/"verbatim"/"lower"/"upper"]`
 //!
 //!     Usable both on top level and field level.
@@ -533,7 +533,7 @@
 //!
 //! ### `long_help` and `--help`
 //!
-//! A message passed to [`App::long_help`] or [`Arg::long_about`] will be displayed whenever
+//! A message passed to [`App::long_about`] or [`Arg::long_help`] will be displayed whenever
 //! your program is called with `--help` instead of `-h`. Of course, you can
 //! use them via raw methods as described [above](#help-messages).
 //!
@@ -586,8 +586,8 @@
 //!
 //! The `-h` flag is not the same as `--help`.
 //!
-//! -h corresponds to Arg::help/App::about and requests short "summary" messages
-//! while --help corresponds to Arg::long_help/App::long_about and requests more
+//! -h corresponds to `Arg::help/App::about` and requests short "summary" messages
+//! while --help corresponds to `Arg::long_help/App::long_about` and requests more
 //! detailed, descriptive messages.
 //!
 //! It is entirely up to `clap` what happens if you used only one of
@@ -1073,15 +1073,16 @@
 
 /// A struct that is converted from command line arguments.
 pub trait StructOpt {
-    /// Returns the corresponding `clap::App`.
+    /// Returns [`clap::App`] corresponding to the struct.
     fn clap<'a, 'b>() -> clap::App<'a, 'b>;
 
-    /// Creates the struct from `clap::ArgMatches`.  It cannot fail
-    /// with a parameter generated by `clap` by construction.
+    /// Builds the struct from [`clap::ArgMatches`]. It's guaranteed to succeed
+    /// if `matches` originates from an `App` generated by [`StructOpt::clap`] called on
+    /// the same type, otherwise it must panic.
     fn from_clap(matches: &clap::ArgMatches<'_>) -> Self;
 
-    /// Gets the struct from the command line arguments.  Print the
-    /// error message and quit the program in case of failure.
+    /// Builds the struct from the command line arguments ([`std::env::args_os`]).
+    /// Calls [`clap::Error::exit`] on failure, printing the error message and aborting the program.
     fn from_args() -> Self
     where
         Self: Sized,
@@ -1089,13 +1090,23 @@
         Self::from_clap(&Self::clap().get_matches())
     }
 
+    /// Builds the struct from the command line arguments ([`std::env::args_os`]).
+    /// Unlike [`StructOpt::from_args`], returns [`clap::Error`] on failure instead of aborting the program,
+    /// so calling [`.exit`][clap::Error::exit] is up to you.
+    fn from_args_safe() -> Result<Self, clap::Error>
+    where
+        Self: Sized,
+    {
+        Self::clap()
+            .get_matches_safe()
+            .map(|matches| Self::from_clap(&matches))
+    }
+
     /// Gets the struct from any iterator such as a `Vec` of your making.
     /// Print the error message and quit the program in case of failure.
     ///
     /// **NOTE**: The first argument will be parsed as the binary name unless
-    /// [`AppSettings::NoBinaryName`] has been used.
-    ///
-    /// [`AppSettings::NoBinaryName`]: https://docs.rs/clap/2.33.0/clap/enum.AppSettings.html#variant.NoBinaryName
+    /// [`clap::AppSettings::NoBinaryName`] has been used.
     fn from_iter<I>(iter: I) -> Self
     where
         Self: Sized,
@@ -1107,14 +1118,12 @@
 
     /// Gets the struct from any iterator such as a `Vec` of your making.
     ///
-    /// Returns a `clap::Error` in case of failure. This does *not* exit in the
+    /// Returns a [`clap::Error`] in case of failure. This does *not* exit in the
     /// case of `--help` or `--version`, to achieve the same behavior as
-    /// `from_iter()` you must call `.exit()` on the error value.
+    /// [`from_iter()`][StructOpt::from_iter] you must call [`.exit()`][clap::Error::exit] on the error value.
     ///
     /// **NOTE**: The first argument will be parsed as the binary name unless
-    /// [`AppSettings::NoBinaryName`] has been used.
-    ///
-    /// [`AppSettings::NoBinaryName`]: https://docs.rs/clap/2.33.0/clap/enum.AppSettings.html#variant.NoBinaryName
+    /// [`clap::AppSettings::NoBinaryName`] has been used.
     fn from_iter_safe<I>(iter: I) -> Result<Self, clap::Error>
     where
         Self: Sized,
diff --git a/tests/argument_naming.rs b/tests/argument_naming.rs
old mode 100644
new mode 100755
diff --git a/tests/arguments.rs b/tests/arguments.rs
old mode 100644
new mode 100755
diff --git a/tests/author_version_about.rs b/tests/author_version_about.rs
old mode 100644
new mode 100755
diff --git a/tests/custom-string-parsers.rs b/tests/custom-string-parsers.rs
old mode 100644
new mode 100755
diff --git a/tests/default_value.rs b/tests/default_value.rs
old mode 100644
new mode 100755
diff --git a/tests/deny-warnings.rs b/tests/deny-warnings.rs
old mode 100644
new mode 100755
diff --git a/tests/doc-comments-help.rs b/tests/doc-comments-help.rs
old mode 100644
new mode 100755
diff --git a/tests/explicit_name_no_renaming.rs b/tests/explicit_name_no_renaming.rs
old mode 100644
new mode 100755
diff --git a/tests/flags.rs b/tests/flags.rs
old mode 100644
new mode 100755
diff --git a/tests/flatten.rs b/tests/flatten.rs
old mode 100644
new mode 100755
diff --git a/tests/issues.rs b/tests/issues.rs
old mode 100644
new mode 100755
diff --git a/tests/macro-errors.rs b/tests/macro-errors.rs
old mode 100644
new mode 100755
diff --git a/tests/nested-subcommands.rs b/tests/nested-subcommands.rs
old mode 100644
new mode 100755
diff --git a/tests/non_literal_attributes.rs b/tests/non_literal_attributes.rs
old mode 100644
new mode 100755
diff --git a/tests/options.rs b/tests/options.rs
old mode 100644
new mode 100755
diff --git a/tests/privacy.rs b/tests/privacy.rs
old mode 100644
new mode 100755
diff --git a/tests/raw_bool_literal.rs b/tests/raw_bool_literal.rs
old mode 100644
new mode 100755
diff --git a/tests/raw_idents.rs b/tests/raw_idents.rs
old mode 100644
new mode 100755
diff --git a/tests/regressions.rs b/tests/regressions.rs
new file mode 100755
index 0000000..876e7ed
--- /dev/null
+++ b/tests/regressions.rs
@@ -0,0 +1,25 @@
+use structopt::StructOpt;
+
+mod utils;
+use utils::*;
+
+#[test]
+fn invisible_group_issue_439() {
+    macro_rules! m {
+        ($bool:ty) => {
+            #[derive(Debug, StructOpt)]
+            struct Opts {
+                #[structopt(long = "x")]
+                x: $bool,
+            }
+        };
+    }
+
+    m!(bool);
+
+    let help = get_long_help::<Opts>();
+
+    assert!(help.contains("--x"));
+    assert!(!help.contains("--x <x>"));
+    Opts::from_iter_safe(&["test", "--x"]).unwrap();
+}
diff --git a/tests/rename_all_env.rs b/tests/rename_all_env.rs
old mode 100644
new mode 100755
diff --git a/tests/skip.rs b/tests/skip.rs
old mode 100644
new mode 100755
diff --git a/tests/special_types.rs b/tests/special_types.rs
old mode 100644
new mode 100755
diff --git a/tests/subcommands.rs b/tests/subcommands.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/bool_default_value.rs b/tests/ui/bool_default_value.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/bool_default_value.stderr b/tests/ui/bool_default_value.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/bool_required.rs b/tests/ui/bool_required.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/bool_required.stderr b/tests/ui/bool_required.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/enum_flatten.rs b/tests/ui/enum_flatten.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/enum_flatten.stderr b/tests/ui/enum_flatten.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/external_subcommand_wrong_type.rs b/tests/ui/external_subcommand_wrong_type.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/external_subcommand_wrong_type.stderr b/tests/ui/external_subcommand_wrong_type.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/flatten_and_methods.rs b/tests/ui/flatten_and_methods.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/flatten_and_methods.stderr b/tests/ui/flatten_and_methods.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/flatten_and_parse.rs b/tests/ui/flatten_and_parse.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/flatten_and_parse.stderr b/tests/ui/flatten_and_parse.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/multiple_external_subcommand.rs b/tests/ui/multiple_external_subcommand.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/multiple_external_subcommand.stderr b/tests/ui/multiple_external_subcommand.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/non_existent_attr.rs b/tests/ui/non_existent_attr.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/non_existent_attr.stderr b/tests/ui/non_existent_attr.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/opt_opt_nonpositional.rs b/tests/ui/opt_opt_nonpositional.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/opt_opt_nonpositional.stderr b/tests/ui/opt_opt_nonpositional.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/opt_vec_nonpositional.rs b/tests/ui/opt_vec_nonpositional.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/opt_vec_nonpositional.stderr b/tests/ui/opt_vec_nonpositional.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/option_default_value.rs b/tests/ui/option_default_value.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/option_default_value.stderr b/tests/ui/option_default_value.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/option_required.rs b/tests/ui/option_required.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/option_required.stderr b/tests/ui/option_required.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/parse_empty_try_from_os.rs b/tests/ui/parse_empty_try_from_os.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/parse_empty_try_from_os.stderr b/tests/ui/parse_empty_try_from_os.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/parse_function_is_not_path.rs b/tests/ui/parse_function_is_not_path.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/parse_function_is_not_path.stderr b/tests/ui/parse_function_is_not_path.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/parse_literal_spec.rs b/tests/ui/parse_literal_spec.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/parse_literal_spec.stderr b/tests/ui/parse_literal_spec.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/parse_not_zero_args.rs b/tests/ui/parse_not_zero_args.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/parse_not_zero_args.stderr b/tests/ui/parse_not_zero_args.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/positional_bool.rs b/tests/ui/positional_bool.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/positional_bool.stderr b/tests/ui/positional_bool.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/raw.rs b/tests/ui/raw.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/raw.stderr b/tests/ui/raw.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/rename_all_wrong_casing.rs b/tests/ui/rename_all_wrong_casing.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/rename_all_wrong_casing.stderr b/tests/ui/rename_all_wrong_casing.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/skip_flatten.rs b/tests/ui/skip_flatten.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/skip_flatten.stderr b/tests/ui/skip_flatten.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/skip_subcommand.rs b/tests/ui/skip_subcommand.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/skip_subcommand.stderr b/tests/ui/skip_subcommand.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/skip_with_other_options.rs b/tests/ui/skip_with_other_options.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/skip_with_other_options.stderr b/tests/ui/skip_with_other_options.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/skip_without_default.rs b/tests/ui/skip_without_default.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/skip_without_default.stderr b/tests/ui/skip_without_default.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/struct_parse.rs b/tests/ui/struct_parse.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/struct_parse.stderr b/tests/ui/struct_parse.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/struct_subcommand.rs b/tests/ui/struct_subcommand.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/struct_subcommand.stderr b/tests/ui/struct_subcommand.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/structopt_empty_attr.rs b/tests/ui/structopt_empty_attr.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/structopt_empty_attr.stderr b/tests/ui/structopt_empty_attr.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/structopt_name_value_attr.rs b/tests/ui/structopt_name_value_attr.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/structopt_name_value_attr.stderr b/tests/ui/structopt_name_value_attr.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/subcommand_and_flatten.rs b/tests/ui/subcommand_and_flatten.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/subcommand_and_flatten.stderr b/tests/ui/subcommand_and_flatten.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/subcommand_and_methods.rs b/tests/ui/subcommand_and_methods.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/subcommand_and_methods.stderr b/tests/ui/subcommand_and_methods.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/subcommand_and_parse.rs b/tests/ui/subcommand_and_parse.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/subcommand_and_parse.stderr b/tests/ui/subcommand_and_parse.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/subcommand_opt_opt.rs b/tests/ui/subcommand_opt_opt.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/subcommand_opt_opt.stderr b/tests/ui/subcommand_opt_opt.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/subcommand_opt_vec.rs b/tests/ui/subcommand_opt_vec.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/subcommand_opt_vec.stderr b/tests/ui/subcommand_opt_vec.stderr
old mode 100644
new mode 100755
diff --git a/tests/ui/tuple_struct.rs b/tests/ui/tuple_struct.rs
old mode 100644
new mode 100755
diff --git a/tests/ui/tuple_struct.stderr b/tests/ui/tuple_struct.stderr
old mode 100644
new mode 100755
diff --git a/tests/utils.rs b/tests/utils.rs
old mode 100644
new mode 100755
diff --git a/tests/we_need_syn_full.rs b/tests/we_need_syn_full.rs
old mode 100644
new mode 100755