Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package StyLua for openSUSE:Factory checked 
in at 2023-08-28 17:14:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/StyLua (Old)
 and      /work/SRC/openSUSE:Factory/.StyLua.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "StyLua"

Mon Aug 28 17:14:44 2023 rev:11 rq:1106048 version:0.18.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/StyLua/StyLua.changes    2023-08-21 
11:45:35.531690061 +0200
+++ /work/SRC/openSUSE:Factory/.StyLua.new.1766/StyLua.changes  2023-08-28 
17:14:46.559704428 +0200
@@ -1,0 +2,6 @@
+Sat Aug 26 13:42:49 UTC 2023 - Soc Virnyl Estela <[email protected]>
+
+- Update to version 0.18.1:
+  * Fixed parentheses around a single Luau type pack in a generic being 
removed causing syntax errors.
+
+-------------------------------------------------------------------

Old:
----
  StyLua-0.18.0.tar.gz

New:
----
  StyLua-0.18.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ StyLua.spec ++++++
--- /var/tmp/diff_new_pack.XTodrV/_old  2023-08-28 17:14:48.747783002 +0200
+++ /var/tmp/diff_new_pack.XTodrV/_new  2023-08-28 17:14:48.755783289 +0200
@@ -18,7 +18,7 @@
 
 %define _bin_name stylua
 Name:           StyLua
-Version:        0.18.0
+Version:        0.18.1
 Release:        0
 Summary:        Opinionated Lua code formatter
 License:        (Apache-2.0 OR MIT) AND Unicode-DFS-2016 AND (Apache-2.0 OR 
BSL-1.0) AND (Apache-2.0 OR MIT) AND (MIT OR Unlicense) AND Apache-2.0 AND MIT 
AND MPL-2.0 AND MPL-2.0

++++++ StyLua-0.18.0.tar.gz -> StyLua-0.18.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/StyLua-0.18.0/.github/workflows/release.yml 
new/StyLua-0.18.1/.github/workflows/release.yml
--- old/StyLua-0.18.0/.github/workflows/release.yml     2023-06-14 
17:04:45.000000000 +0200
+++ new/StyLua-0.18.1/.github/workflows/release.yml     2023-07-15 
21:12:45.000000000 +0200
@@ -31,11 +31,11 @@
             artifact-name: stylua-windows-x86_64
             artifact-alias: stylua-win64
             cargo-target: x86_64-pc-windows-msvc
-          - os: ubuntu-18.04
+          - os: ubuntu-20.04
             artifact-name: stylua-linux-x86_64
             artifact-alias: stylua-linux
             cargo-target: x86_64-unknown-linux-gnu
-          - os: ubuntu-18.04
+          - os: ubuntu-20.04
             artifact-name: stylua-linux-aarch64
             cargo-target: aarch64-unknown-linux-gnu
             linker: gcc-aarch64-linux-gnu
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/StyLua-0.18.0/CHANGELOG.md 
new/StyLua-0.18.1/CHANGELOG.md
--- old/StyLua-0.18.0/CHANGELOG.md      2023-06-14 17:04:45.000000000 +0200
+++ new/StyLua-0.18.1/CHANGELOG.md      2023-07-15 21:12:45.000000000 +0200
@@ -7,11 +7,17 @@
 
 ## [Unreleased]
 
+## [0.18.1] - 2023-07-15
+
+### Fixed
+
+- Fixed parentheses around a single Luau type pack in a generic being removed 
causing syntax errors 
([#729](https://github.com/JohnnyMorganz/StyLua/issues/729))
+
 ## [0.18.0] - 2023-06-14
 
 ### Added
 
-- Multiline ignores (`-- stylua: ignore start` / `-- stylua: ignore end`) will 
now work within table fields:
+- Multiline ignores (`-- stylua: ignore start` / `-- stylua: ignore end`) will 
now work within table fields 
([#705](https://github.com/JohnnyMorganz/StyLua/issues/705)):
 
 ```lua
 require("foo").bar {
@@ -23,7 +29,7 @@
 }
 ```
 
-- Added option `"Input"` to `call_parentheses` setting, where call parentheses 
are retained based on their presence in the original input code.
+- Added option `"Input"` to `call_parentheses` setting, where call parentheses 
are retained based on their presence in the original input code. 
([#668](https://github.com/JohnnyMorganz/StyLua/issues/668))
   Note: this setting removes all automation in determining call parentheses, 
and consistency is not enforced.
 
 ### Changed
@@ -32,16 +38,16 @@
 
 ### Fixed
 
-- Function calls are now formatted onto multiple lines if the opening brace 
`{` of a multiline table forces one of the lines over width
-- Fixed missing option `--sort-requires` to enable sort requires on the 
command line
+- Function calls are now formatted onto multiple lines if the opening brace 
`{` of a multiline table forces one of the lines over width 
([#704](https://github.com/JohnnyMorganz/StyLua/issues/704))
+- Fixed missing option `--sort-requires` to enable sort requires on the 
command line ([#669](https://github.com/JohnnyMorganz/StyLua/issues/669))
 
 ```sh
 $ stylua --sort-requires test.lua
 ```
 
-- Fixed parentheses removed around Luau optional type `(B?)` causing syntax 
errors when present in an intersection `A & (B?)`
+- Fixed parentheses removed around Luau optional type `(B?)` causing syntax 
errors when present in an intersection `A & (B?)` 
([#679](https://github.com/JohnnyMorganz/StyLua/issues/679))
 - Fixed comments lost when parentheses removed around Luau types
-- Fixed race condition where if a file is passed more than once as an argument 
to format, then it could potentially be wiped completely (for example, if an 
ancestor directory is passed and recursively searched, as well as the file 
itself)
+- Fixed race condition where if a file is passed more than once as an argument 
to format, then it could potentially be wiped completely (for example, if an 
ancestor directory is passed and recursively searched, as well as the file 
itself) ([#708](https://github.com/JohnnyMorganz/StyLua/issues/708))
 
 ## [0.17.1] - 2023-03-30
 
@@ -689,7 +695,8 @@
 
 Initial alpha release
 
-[unreleased]: https://github.com/JohnnyMorganz/StyLua/compare/v0.18.0...HEAD
+[unreleased]: https://github.com/JohnnyMorganz/StyLua/compare/v0.18.1...HEAD
+[0.18.1]: https://github.com/JohnnyMorganz/StyLua/releases/tag/v0.18.1
 [0.18.0]: https://github.com/JohnnyMorganz/StyLua/releases/tag/v0.18.0
 [0.17.1]: https://github.com/JohnnyMorganz/StyLua/releases/tag/v0.17.1
 [0.17.0]: https://github.com/JohnnyMorganz/StyLua/releases/tag/v0.17.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/StyLua-0.18.0/Cargo.lock new/StyLua-0.18.1/Cargo.lock
--- old/StyLua-0.18.0/Cargo.lock        2023-06-14 17:04:45.000000000 +0200
+++ new/StyLua-0.18.1/Cargo.lock        2023-07-15 21:12:45.000000000 +0200
@@ -83,7 +83,7 @@
 dependencies = [
  "lazy_static",
  "memchr",
- "regex-automata",
+ "regex-automata 0.1.10",
 ]
 
 [[package]]
@@ -156,7 +156,7 @@
  "atty",
  "bitflags",
  "clap_derive",
- "indexmap",
+ "indexmap 1.7.0",
  "lazy_static",
  "os_str_bytes",
  "strsim",
@@ -335,6 +335,12 @@
 ]
 
 [[package]]
+name = "equivalent"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1"
+
+[[package]]
 name = "fnv"
 version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -362,7 +368,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "99b4bd12ce56927d1dc5478d21528ea8c4b93ca85ff8f8043b6a5351a2a3c6f7"
 dependencies = [
- "indexmap",
+ "indexmap 1.7.0",
  "proc-macro2",
  "quote",
  "syn 1.0.76",
@@ -394,10 +400,16 @@
 checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
 
 [[package]]
+name = "hashbrown"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+
+[[package]]
 name = "heck"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
@@ -410,12 +422,9 @@
 
 [[package]]
 name = "hermit-abi"
-version = "0.2.6"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
+checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
 
 [[package]]
 name = "ignore"
@@ -441,7 +450,17 @@
 checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
 dependencies = [
  "autocfg",
- "hashbrown",
+ "hashbrown 0.11.2",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.0",
 ]
 
 [[package]]
@@ -557,11 +576,11 @@
 
 [[package]]
 name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi 0.3.1",
  "libc",
 ]
 
@@ -682,18 +701,18 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.63"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.26"
+version = "1.0.29"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
 dependencies = [
  "proc-macro2",
 ]
@@ -725,13 +744,14 @@
 
 [[package]]
 name = "regex"
-version = "1.8.1"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
+checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
 dependencies = [
  "aho-corasick 1.0.1",
  "memchr",
- "regex-syntax 0.7.1",
+ "regex-automata 0.3.2",
+ "regex-syntax 0.7.4",
 ]
 
 [[package]]
@@ -741,6 +761,17 @@
 checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
 
 [[package]]
+name = "regex-automata"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf"
+dependencies = [
+ "aho-corasick 1.0.1",
+ "memchr",
+ "regex-syntax 0.7.4",
+]
+
+[[package]]
 name = "regex-syntax"
 version = "0.6.29"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -748,9 +779,9 @@
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.1"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
+checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
 
 [[package]]
 name = "rustc_version"
@@ -808,29 +839,29 @@
 
 [[package]]
 name = "serde"
-version = "1.0.164"
+version = "1.0.171"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
+checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.164"
+version = "1.0.171"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
+checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
+ "syn 2.0.25",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.96"
+version = "1.0.100"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c"
 dependencies = [
  "itoa",
  "ryu",
@@ -838,22 +869,31 @@
 ]
 
 [[package]]
+name = "serde_spanned"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "serde_yaml"
 version = "0.8.21"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "d8c608a35705a5d3cdc9fbe403147647ff34b921f8e833e49306df898f9b20af"
 dependencies = [
  "dtoa",
- "indexmap",
+ "indexmap 1.7.0",
  "serde",
  "yaml-rust",
 ]
 
 [[package]]
 name = "similar"
-version = "2.1.0"
+version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2e24979f63a11545f5f2c60141afe249d4f19f84581ea2138065e400941d83d3"
+checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
 dependencies = [
  "serde",
 ]
@@ -875,29 +915,29 @@
 
 [[package]]
 name = "strum"
-version = "0.24.1"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
+checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
 dependencies = [
  "strum_macros",
 ]
 
 [[package]]
 name = "strum_macros"
-version = "0.24.3"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
+checksum = "fe9f3bd7d2e45dcc5e265fbb88d6513e4747d8ef9444cf01a533119bce28a157"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 1.0.76",
+ "syn 2.0.25",
 ]
 
 [[package]]
 name = "stylua"
-version = "0.18.0"
+version = "0.18.1"
 dependencies = [
  "anyhow",
  "assert_cmd",
@@ -939,9 +979,9 @@
 
 [[package]]
 name = "syn"
-version = "2.0.15"
+version = "2.0.25"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -986,7 +1026,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
+ "syn 2.0.25",
 ]
 
 [[package]]
@@ -1020,11 +1060,36 @@
 
 [[package]]
 name = "toml"
-version = "0.5.11"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+checksum = "1ebafdf5ad1220cb59e7d17cf4d2c72015297b75b19a10472f99b89225089240"
 dependencies = [
  "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.19.11"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7"
+dependencies = [
+ "indexmap 2.0.0",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
 ]
 
 [[package]]
@@ -1239,6 +1304,15 @@
 checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
 
 [[package]]
+name = "winnow"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "yaml-rust"
 version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/StyLua-0.18.0/Cargo.toml new/StyLua-0.18.1/Cargo.toml
--- old/StyLua-0.18.0/Cargo.toml        2023-06-14 17:04:45.000000000 +0200
+++ new/StyLua-0.18.1/Cargo.toml        2023-07-15 21:12:45.000000000 +0200
@@ -1,6 +1,6 @@
 [package]
 name = "stylua"
-version = "0.18.0"
+version = "0.18.1"
 authors = ["JohnnyMorganz <[email protected]>"]
 description = "A code formatter for Lua"
 license = "MPL-2.0"
@@ -45,15 +45,15 @@
 ignore = "0.4.20"
 lazy_static = "1.4.0"
 log = "0.4.19"
-num_cpus = "1.15.0"
-regex = "1.8.1"
-serde = "1.0.164"
-serde_json = "1.0.96"
-similar = { version = "2.1.0", features = ["text", "inline", "serde"] }
-strum = { version = "0.24.1", features = ["derive"], optional = true }
+num_cpus = "1.16.0"
+regex = "1.9.1"
+serde = "1.0.165"
+serde_json = "1.0.100"
+similar = { version = "2.2.1", features = ["text", "inline", "serde"] }
+strum = { version = "0.25.0", features = ["derive"], optional = true }
 thiserror = "1.0.40"
 threadpool = "1.8.1"
-toml = "0.5.11"
+toml = "0.7.5"
 
 [target.'cfg(target_arch = "wasm32")'.dependencies]
 wasm-bindgen = { version = "0.2.81", optional = true }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/StyLua-0.18.0/README.md new/StyLua-0.18.1/README.md
--- old/StyLua-0.18.0/README.md 2023-06-14 17:04:45.000000000 +0200
+++ new/StyLua-0.18.1/README.md 2023-07-15 21:12:45.000000000 +0200
@@ -56,7 +56,7 @@
 
 ```yaml
 - repo: https://github.com/JohnnyMorganz/StyLua
-  rev: v0.18.0
+  rev: v0.18.1
   hooks:
     - id: stylua # or stylua-system / stylua-github
 ```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/StyLua-0.18.0/src/formatters/luau.rs 
new/StyLua-0.18.1/src/formatters/luau.rs
--- old/StyLua-0.18.0/src/formatters/luau.rs    2023-06-14 17:04:45.000000000 
+0200
+++ new/StyLua-0.18.1/src/formatters/luau.rs    2023-07-15 21:12:45.000000000 
+0200
@@ -78,10 +78,10 @@
     }
 }
 
-// Formats a type info, then determines whether it is still over width. If so, 
it tries to hang it.
-fn format_hangable_type_info(
+fn format_hangable_type_info_internal(
     ctx: &Context,
     type_info: &TypeInfo,
+    context: TypeInfoContext,
     shape: Shape,
     hang_level: usize,
 ) -> TypeInfo {
@@ -92,13 +92,23 @@
         && (should_hang_type(type_info, CommentSearch::Single)
             || 
shape.test_over_budget(&strip_trailing_trivia(&singleline_type_info)))
     {
-        hang_type_info(ctx, type_info, TypeInfoContext::new(), shape, 
hang_level)
+        hang_type_info(ctx, type_info, context, shape, hang_level)
     } else {
         // Use the proper formatting
-        format_type_info(ctx, type_info, shape)
+        format_type_info_internal(ctx, type_info, context, shape)
     }
 }
 
+// Formats a type info, then determines whether it is still over width. If so, 
it tries to hang it.
+fn format_hangable_type_info(
+    ctx: &Context,
+    type_info: &TypeInfo,
+    shape: Shape,
+    hang_level: usize,
+) -> TypeInfo {
+    format_hangable_type_info_internal(ctx, type_info, TypeInfoContext::new(), 
shape, hang_level)
+}
+
 fn format_type_info_generics(
     ctx: &Context,
     arrows: &ContainedSpan,
@@ -107,9 +117,15 @@
 ) -> (ContainedSpan, Punctuated<TypeInfo>) {
     const ARROW_LEN: usize = 1; // 1 = "<"
 
+    let context = TypeInfoContext::new().mark_within_generic();
+
     let singleline_arrows = format_contained_span(ctx, arrows, shape);
-    let singleline_generics =
-        format_punctuated(ctx, generics, shape.with_infinite_width(), 
format_type_info);
+    let singleline_generics = format_punctuated(
+        ctx,
+        generics,
+        shape.with_infinite_width(),
+        |ctx, type_info, shape| format_type_info_internal(ctx, type_info, 
context, shape),
+    );
 
     let (start_arrow, end_arrow) = arrows.tokens();
     let contains_comments = 
start_arrow.has_trailing_comments(CommentSearch::Single)
@@ -145,7 +161,9 @@
             ctx,
             arrows,
             generics,
-            |ctx, type_info, shape| format_hangable_type_info(ctx, type_info, 
shape, 0),
+            |ctx, type_info, shape| {
+                format_hangable_type_info_internal(ctx, type_info, context, 
shape, 0)
+            },
             shape,
         )
     } else {
@@ -161,6 +179,10 @@
     // A TypeInfo within a variadic type
     // we should NOT remove parentheses in a type ...(A | B)
     within_variadic: bool,
+    // A TypeInfo as a generic parameter
+    // Foo<(string), (number)>
+    // we should NOT remove these parentheses are they may correspond to 
single-type type packs
+    within_generic: bool,
 
     /// A TypeInfo part of a union/intersection operation
     /// If its a mixed composite type, then we should not remove excess 
parentheses. e.g.
@@ -179,6 +201,7 @@
         Self {
             within_optional: false,
             within_variadic: false,
+            within_generic: false,
             contains_union: false,
             contains_intersect: false,
         }
@@ -198,6 +221,13 @@
         }
     }
 
+    fn mark_within_generic(self) -> TypeInfoContext {
+        Self {
+            within_generic: true,
+            ..self
+        }
+    }
+
     fn mark_contains_union(self) -> TypeInfoContext {
         Self {
             contains_union: true,
@@ -233,6 +263,7 @@
         {
             true
         }
+        _ if context.within_generic => true,
         _ => false,
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/StyLua-0.18.0/stylua-npm-bin/package-lock.json 
new/StyLua-0.18.1/stylua-npm-bin/package-lock.json
--- old/StyLua-0.18.0/stylua-npm-bin/package-lock.json  2023-06-14 
17:04:45.000000000 +0200
+++ new/StyLua-0.18.1/stylua-npm-bin/package-lock.json  2023-07-15 
21:12:45.000000000 +0200
@@ -1,12 +1,12 @@
 {
   "name": "@johnnymorganz/stylua-bin",
-  "version": "0.18.0",
+  "version": "0.18.1",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
       "name": "@johnnymorganz/stylua-bin",
-      "version": "0.18.0",
+      "version": "0.18.1",
       "hasInstallScript": true,
       "license": "MPL-2.0",
       "dependencies": {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/StyLua-0.18.0/stylua-npm-bin/package.json 
new/StyLua-0.18.1/stylua-npm-bin/package.json
--- old/StyLua-0.18.0/stylua-npm-bin/package.json       2023-06-14 
17:04:45.000000000 +0200
+++ new/StyLua-0.18.1/stylua-npm-bin/package.json       2023-07-15 
21:12:45.000000000 +0200
@@ -1,6 +1,6 @@
 {
   "name": "@johnnymorganz/stylua-bin",
-  "version": "0.18.0",
+  "version": "0.18.1",
   "description": "A code formatter for Lua",
   "bin": {
     "stylua": "./run.js"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/StyLua-0.18.0/tests/inputs-luau/excess-parentheses.lua 
new/StyLua-0.18.1/tests/inputs-luau/excess-parentheses.lua
--- old/StyLua-0.18.0/tests/inputs-luau/excess-parentheses.lua  2023-06-14 
17:04:45.000000000 +0200
+++ new/StyLua-0.18.1/tests/inputs-luau/excess-parentheses.lua  2023-07-15 
21:12:45.000000000 +0200
@@ -45,3 +45,7 @@
 type A = ((string) -> string) & ((number) -> number)
 type A = (A | B)?
 type A = (A | B) -- comment
+
+-- https://github.com/JohnnyMorganz/StyLua/issues/729
+type SomeType<T..., U...> = (T...) -> U...
+local fn: SomeType<(string, number), (boolean)>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/StyLua-0.18.0/tests/snapshots/[email protected] 
new/StyLua-0.18.1/tests/snapshots/[email protected]
--- old/StyLua-0.18.0/tests/snapshots/[email protected]   
2023-06-14 17:04:45.000000000 +0200
+++ new/StyLua-0.18.1/tests/snapshots/[email protected]   
2023-07-15 21:12:45.000000000 +0200
@@ -49,3 +49,7 @@
 type A = (A | B)?
 type A = A | B -- comment
 
+-- https://github.com/JohnnyMorganz/StyLua/issues/729
+type SomeType<T..., U...> = (T...) -> U...
+local fn: SomeType<(string, number), (boolean)>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/StyLua-0.18.0/wasm/package.json 
new/StyLua-0.18.1/wasm/package.json
--- old/StyLua-0.18.0/wasm/package.json 2023-06-14 17:04:45.000000000 +0200
+++ new/StyLua-0.18.1/wasm/package.json 2023-07-15 21:12:45.000000000 +0200
@@ -4,7 +4,7 @@
         "JohnnyMorganz <[email protected]>"
     ],
     "description": "A code formatter for Lua",
-    "version": "0.18.0",
+    "version": "0.18.1",
     "license": "MPL-2.0",
     "readme": "README.md",
     "repository": {

++++++ _service ++++++
--- /var/tmp/diff_new_pack.XTodrV/_old  2023-08-28 17:14:48.975791189 +0200
+++ /var/tmp/diff_new_pack.XTodrV/_new  2023-08-28 17:14:48.979791333 +0200
@@ -1,7 +1,7 @@
 <services>
   <service name="download_files" mode="manual" />
   <service name="cargo_vendor" mode="manual">
-     <param name="srctar">StyLua-0.18.0.tar.gz</param>
+     <param name="srctar">StyLua-0.18.1.tar.gz</param>
      <param name="compression">zst</param>
      <param name="update">true</param>
   </service>

++++++ vendor.tar.zst ++++++
Binary files /var/tmp/diff_new_pack.XTodrV/_old and 
/var/tmp/diff_new_pack.XTodrV/_new differ

Reply via email to