summaryrefslogtreecommitdiffstats
path: root/vendor/pin-project-lite
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
commitdc0db358abe19481e475e10c32149b53370f1a1c (patch)
treeab8ce99c4b255ce46f99ef402c27916055b899ee /vendor/pin-project-lite
parentReleasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff)
downloadrustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz
rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/pin-project-lite')
-rw-r--r--vendor/pin-project-lite/.cargo-checksum.json2
-rw-r--r--vendor/pin-project-lite/CHANGELOG.md9
-rw-r--r--vendor/pin-project-lite/Cargo.toml21
-rw-r--r--vendor/pin-project-lite/README.md10
-rw-r--r--vendor/pin-project-lite/src/lib.rs231
-rw-r--r--vendor/pin-project-lite/tests/README.md46
-rw-r--r--vendor/pin-project-lite/tests/compiletest.rs1
-rw-r--r--vendor/pin-project-lite/tests/expand/default/enum.expanded.rs44
-rw-r--r--vendor/pin-project-lite/tests/expand/default/struct.expanded.rs10
-rw-r--r--vendor/pin-project-lite/tests/expand/multifields/enum.expanded.rs39
-rw-r--r--vendor/pin-project-lite/tests/expand/multifields/struct.expanded.rs41
-rw-r--r--vendor/pin-project-lite/tests/expand/naming/enum-all.expanded.rs44
-rw-r--r--vendor/pin-project-lite/tests/expand/naming/enum-mut.expanded.rs21
-rw-r--r--vendor/pin-project-lite/tests/expand/naming/enum-none.expanded.rs8
-rw-r--r--vendor/pin-project-lite/tests/expand/naming/enum-ref.expanded.rs21
-rw-r--r--vendor/pin-project-lite/tests/expand/naming/struct-all.expanded.rs15
-rw-r--r--vendor/pin-project-lite/tests/expand/naming/struct-mut.expanded.rs10
-rw-r--r--vendor/pin-project-lite/tests/expand/naming/struct-none.expanded.rs10
-rw-r--r--vendor/pin-project-lite/tests/expand/naming/struct-ref.expanded.rs10
-rw-r--r--vendor/pin-project-lite/tests/expand/pinned_drop/enum.expanded.rs45
-rw-r--r--vendor/pin-project-lite/tests/expand/pinned_drop/enum.rs3
-rw-r--r--vendor/pin-project-lite/tests/expand/pinned_drop/struct.expanded.rs21
-rw-r--r--vendor/pin-project-lite/tests/expand/pinned_drop/struct.rs3
-rw-r--r--vendor/pin-project-lite/tests/expand/pub/enum.expanded.rs34
-rw-r--r--vendor/pin-project-lite/tests/expand/pub/struct.expanded.rs10
-rw-r--r--vendor/pin-project-lite/tests/expandtest.rs5
-rw-r--r--vendor/pin-project-lite/tests/lint.rs8
-rw-r--r--vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.stderr4
-rw-r--r--vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.stderr14
-rw-r--r--vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.stderr90
-rw-r--r--vendor/pin-project-lite/tests/ui/pin_project/invalid.stderr78
-rw-r--r--vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.stderr40
-rw-r--r--vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.stderr15
-rw-r--r--vendor/pin-project-lite/tests/ui/pin_project/packed.rs2
-rw-r--r--vendor/pin-project-lite/tests/ui/pin_project/packed.stderr136
-rw-r--r--vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.stderr6
-rw-r--r--vendor/pin-project-lite/tests/ui/pin_project/unsupported.stderr80
-rw-r--r--vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.stderr11
-rw-r--r--vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.stderr8
39 files changed, 702 insertions, 504 deletions
diff --git a/vendor/pin-project-lite/.cargo-checksum.json b/vendor/pin-project-lite/.cargo-checksum.json
index 249c55e4b..091b1de90 100644
--- a/vendor/pin-project-lite/.cargo-checksum.json
+++ b/vendor/pin-project-lite/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"CHANGELOG.md":"0da6eac8d8957a8aea735942d2e6e226b5cb178a363fe77b87c23272f2e63b1c","Cargo.toml":"b0b0099d5e8af1ffbe68c0b4e367a00602dbf1acab35f8c956129918b17a5425","LICENSE-APACHE":"0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"609412221520fc16f47e76131927e4dd11aef38f7c69d92a1116130654f0ee90","src/lib.rs":"7b76a04ae98aa1e9ee85b9a2e1f054384b39df74cdfb375ff46649af8ec4b5b3","tests/README.md":"71fc84264ec08d2b7f1c74c1ba5140a376121b72145cc630b616e6f2536aeafa","tests/auxiliary/mod.rs":"7e263e987e09b77e384f734384a00a71c5b70230bb1b5376446ef003a8da9372","tests/compiletest.rs":"f764ff03c73c8a21c35ee30cf851b9266b2987e88d646d9bd086fc71944eb945","tests/drop_order.rs":"2cb31a8cd5cf4d9a4ba9faf25f99f0e85f9bd7b4778649f843d9c617c6af43fc","tests/expand/default/enum.expanded.rs":"c4db8e05cfe6eab3be39301abf77689f79fdaff52605350a2aee464b2756180e","tests/expand/default/enum.rs":"493d5752c4baa87ed4c48bd41b8e5e263fd5e3f43c4f9195818ef6d26951f63e","tests/expand/default/struct.expanded.rs":"c158632984eaf6ab8ae60b76ff2bf32b20ba10a3cbc4237c9a6ea28c614cdb01","tests/expand/default/struct.rs":"5a6e57d9b6d00cfd4e1e69f37ce0c9d5165a21230d0363f0791665b1015870ce","tests/expand/multifields/enum.expanded.rs":"8bba6a5a2279469bf94c486a6efb2f8c9ed965b716d66ac0660662e11ca0bddb","tests/expand/multifields/enum.rs":"9c79270a7d6d1d42cf8194b579d79e7d44a3fd003243742f0a568ecf0a4f3be3","tests/expand/multifields/struct.expanded.rs":"46ac58981d4ee4eba61b879ba62b313ceac59f9a223ae4984450f72a9173cbd2","tests/expand/multifields/struct.rs":"17f0447d522d48f14d516808bd66baacebdf3ac38188df72f649702a893cda68","tests/expand/naming/enum-all.expanded.rs":"c4db8e05cfe6eab3be39301abf77689f79fdaff52605350a2aee464b2756180e","tests/expand/naming/enum-all.rs":"493d5752c4baa87ed4c48bd41b8e5e263fd5e3f43c4f9195818ef6d26951f63e","tests/expand/naming/enum-mut.expanded.rs":"ce1a12428d3906c8d98516b3afdcbbbda64776e2f0c039e90f3de8f734ab1878","tests/expand/naming/enum-mut.rs":"c1ff4ade049ebbceb2acb99dbc1af5db14de3ba9710ea1ff1b64348766a9e080","tests/expand/naming/enum-none.expanded.rs":"cf8ea074b8079af453a2f98e2217704e96174433e4ac0e07577f9242ad3d5de2","tests/expand/naming/enum-none.rs":"ff22be4ecf4168e2bc68ab249a0ed809a37e3b8e840ef8977d24209ef28ac839","tests/expand/naming/enum-ref.expanded.rs":"277e9642e49f4dc312ea09b4d9f8012994662f565529865102be0fe1657c2b13","tests/expand/naming/enum-ref.rs":"394cbd5d872449e9226cd0834ce7117c395a582567584218dabbef4eb2c1fbac","tests/expand/naming/struct-all.expanded.rs":"807c74c57928e068725fa8272a1d1c671401ed213ce8abf1a405a35b1fb47673","tests/expand/naming/struct-all.rs":"c13c0aacee85b8fca58f85d2d75d2e3907b3e7642f8710ed8c8e54d6015881cc","tests/expand/naming/struct-mut.expanded.rs":"f08b34f7d49ad45ae0a1ae8b64995d63e7e4eed2910a912f6c622a0b8e410b89","tests/expand/naming/struct-mut.rs":"9a7752a6d30e0b7033f3577a72676676900a642cdaf59f942179d1f2a8ba2bb0","tests/expand/naming/struct-none.expanded.rs":"c158632984eaf6ab8ae60b76ff2bf32b20ba10a3cbc4237c9a6ea28c614cdb01","tests/expand/naming/struct-none.rs":"5a6e57d9b6d00cfd4e1e69f37ce0c9d5165a21230d0363f0791665b1015870ce","tests/expand/naming/struct-ref.expanded.rs":"dabc3fda847ab2f4e4ca0ec6f6dc4da43f8de087117dcafb3c15780cebc7af45","tests/expand/naming/struct-ref.rs":"33c4fd344b65650dee44087ada31d4b5acd9d122123360fb7d41718c46699574","tests/expand/pinned_drop/enum.expanded.rs":"56d709a0cfc0c951fe303bf2b034e7fae4fc5271b9a11ade9c6a9c20c89471b3","tests/expand/pinned_drop/enum.rs":"d7e087b6852338fabe7edf39529c8f893a426b4d0c6aba2d2a6be0d95f739cdc","tests/expand/pinned_drop/struct.expanded.rs":"c9b26224339f126ce5f0d36cd8d6c6e84970bf39b94dc11bc42743ad5bdba6be","tests/expand/pinned_drop/struct.rs":"164a25e12b9898c093b5dee2c47a40dd549e6f49ba1c6bb22f4e4c4b98fe76b2","tests/expand/pub/enum.expanded.rs":"56c81c0535f8fb9b83662fc3753f7c07b96eb12392669bb1ae23ffc82b7c4a2c","tests/expand/pub/enum.rs":"5b60dd354a489b0326f5c4f1026b89d1471ddbb45906bc3046a65425c4e5e160","tests/expand/pub/struct.expanded.rs":"525c52bf7185493046618ee0dc1b18bdc0c0a56383f5c7b11c98738211d024a7","tests/expand/pub/struct.rs":"15b7940ce0ad1d5d133dde1870319f2f96a000bfcf29508b8cce1a62876cbd80","tests/expandtest.rs":"898df948c7ee82df0e0823cbde16ccc2b9dba455475665e6d2c7c0a84493e9fb","tests/include/basic.rs":"9e399b682bc74c899d26924c2cab52a911f7392e29300defb6521e561fafafe4","tests/lint.rs":"513ffda15a1e8e64076e8a1b7db709d5de8eebaf7952839974056e99afedde82","tests/proper_unpin.rs":"57a9e8c9029ba7920ec23670b66758916e067c9cecf4d3f8b0035bec25cdb570","tests/test.rs":"8d0ee300af17535dc7fd488433630911ddc3147a3e3ccf0b9dce9f0ccdb10dc3","tests/ui/pin_project/conflict-drop.rs":"55e6809b5f59dd81e32c2c89b742c0c76db6b099a1d2621e5b882c0d20f92837","tests/ui/pin_project/conflict-drop.stderr":"d22314903c031c1dad5fba81b8819fd9a1459ed4f750534032eaa3296db9e4ac","tests/ui/pin_project/conflict-unpin.rs":"51b3b6720fa581b63167d6ac941a1ea1bf739b09954931b2bc2f7abe2d934f26","tests/ui/pin_project/conflict-unpin.stderr":"4ca72632a5926cc70cb489311f6ac2e16b13fb5508cc2afb3b873071b37f3ba4","tests/ui/pin_project/invalid-bounds.rs":"f86f23d377df015182f2f5dae6464a4f98c37f2198e0646f721fedc4017cb82c","tests/ui/pin_project/invalid-bounds.stderr":"12009b6b91820cf199b0b1663d70ddb03c01c4645f0937a6812abe2e0112101c","tests/ui/pin_project/invalid.rs":"7304bd4a5bac1419382742432cfa8af83535d7be8cfad52c661410e0e9e8207a","tests/ui/pin_project/invalid.stderr":"c690c368166c588501f7af306915a5ad131e3d4c5e6c519387f27dc7daaf9e84","tests/ui/pin_project/overlapping_lifetime_names.rs":"36c849a4570c8c0c32ca6c01aa75afbe1136ef73d45f17eb66175e1936678722","tests/ui/pin_project/overlapping_lifetime_names.stderr":"93646dd1a0a9b5106a189d2dbf11ad6010f91ba6adc545fe9fb350d05e5565b9","tests/ui/pin_project/overlapping_unpin_struct.rs":"9a126182d1fe15a30ac60bb223b376aad747d11293d3cf512ad2dce546e3725c","tests/ui/pin_project/overlapping_unpin_struct.stderr":"a7297c94c18c582eba24f801a69dc9ee25f28e58b9c15493ae89aa62bfae045a","tests/ui/pin_project/packed.rs":"2ede405a0d101eb843ea83c2836cc8399da54c105776f2c795f3138e03a1e5ef","tests/ui/pin_project/packed.stderr":"7601fac825e3715b4cc8024bd489c35edbb98baa270a3ac1d591fc683afc5c56","tests/ui/pin_project/unpin_sneaky.rs":"12e97a387ce1af6ee6a567687674aab70e96962a48f2433c39976d0b3e2c3341","tests/ui/pin_project/unpin_sneaky.stderr":"972e313b129ff58d05c1de4ace8f41da18e3813abeda8173cf5e9fdfdbea2251","tests/ui/pin_project/unsupported.rs":"14defa90e736f314bbbc219973929b77bdd22e5f7e4c4c88403db764f4d167d6","tests/ui/pin_project/unsupported.stderr":"2602db59fed6be1ac66e573b2a44e88b7d9ed18674d04fa62f97ee7ad21eaa30","tests/ui/pinned_drop/call-drop-inner.rs":"032260da1fc0e649d97167a8a4ac47eea915000efebdfdc490f050b6f9351027","tests/ui/pinned_drop/call-drop-inner.stderr":"18e4d2be8a25ea7092c91e311cbdd5fae20dee494a168caa01abe01527ed07ce","tests/ui/pinned_drop/conditional-drop-impl.rs":"0b28c74213cee83e7b27223d7d37f903f79abd3dddcc0f969e14047674908085","tests/ui/pinned_drop/conditional-drop-impl.stderr":"a0e102a8746c1d078348d7447d1bd8073afe537fb18c199ec020f0bfd63cfd07"},"package":"e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"} \ No newline at end of file
+{"files":{"CHANGELOG.md":"9feab433fe1ceacdedffbf59f05a19a4621410fef3c870de4196b8d061d6e4ea","Cargo.toml":"6fe5296933e22760d7d88e2ae99f754bb02ff992fc2eabb659ba51e50fee96cb","LICENSE-APACHE":"0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"a931ad557a7a4998afeb8900941011d4fa9176d058efe4cdd5ba9333b6adfa9f","src/lib.rs":"6f3908de14278d2627825f1e47b400ebf03baec439efba1d55ca11d12c5b1bfb","tests/auxiliary/mod.rs":"7e263e987e09b77e384f734384a00a71c5b70230bb1b5376446ef003a8da9372","tests/compiletest.rs":"af34ced23541134e26259a52cae588520c7111e98bff59e0c2e2d73faf43ca3f","tests/drop_order.rs":"2cb31a8cd5cf4d9a4ba9faf25f99f0e85f9bd7b4778649f843d9c617c6af43fc","tests/expand/default/enum.expanded.rs":"73741db49b8fe466122cc2e09b97c0a32c2a2322d1b78f8dd4b0fd4ea66f55ca","tests/expand/default/enum.rs":"493d5752c4baa87ed4c48bd41b8e5e263fd5e3f43c4f9195818ef6d26951f63e","tests/expand/default/struct.expanded.rs":"d74deb9989f1f0ef11cac09790875e0c174bff6de342b762905918335e5f133b","tests/expand/default/struct.rs":"5a6e57d9b6d00cfd4e1e69f37ce0c9d5165a21230d0363f0791665b1015870ce","tests/expand/multifields/enum.expanded.rs":"8ef9f7c04d3b2cc90840c6582982c865f692af6ce395039ea90fdce181503f66","tests/expand/multifields/enum.rs":"9c79270a7d6d1d42cf8194b579d79e7d44a3fd003243742f0a568ecf0a4f3be3","tests/expand/multifields/struct.expanded.rs":"3df76fe8fbb86a3c40ff706630ff3ff4cb50f363078b5cd10810fef1e9485021","tests/expand/multifields/struct.rs":"17f0447d522d48f14d516808bd66baacebdf3ac38188df72f649702a893cda68","tests/expand/naming/enum-all.expanded.rs":"73741db49b8fe466122cc2e09b97c0a32c2a2322d1b78f8dd4b0fd4ea66f55ca","tests/expand/naming/enum-all.rs":"493d5752c4baa87ed4c48bd41b8e5e263fd5e3f43c4f9195818ef6d26951f63e","tests/expand/naming/enum-mut.expanded.rs":"3f513570045a28b864138dd51b0216f8f3cc4543a0394b895a76dc8b4144a352","tests/expand/naming/enum-mut.rs":"c1ff4ade049ebbceb2acb99dbc1af5db14de3ba9710ea1ff1b64348766a9e080","tests/expand/naming/enum-none.expanded.rs":"dbac25a5370153bad9165346c49f831d051b22f0c40bc4d81aa1dd44346d04cc","tests/expand/naming/enum-none.rs":"ff22be4ecf4168e2bc68ab249a0ed809a37e3b8e840ef8977d24209ef28ac839","tests/expand/naming/enum-ref.expanded.rs":"cf9e3d5ce323561f20f739d28a6c71b3d18db300229ebd178fb8d169003f1f7d","tests/expand/naming/enum-ref.rs":"394cbd5d872449e9226cd0834ce7117c395a582567584218dabbef4eb2c1fbac","tests/expand/naming/struct-all.expanded.rs":"b5368da93cfcf1c04b985e10e89fd27e26f38202fe0a1627aade8dd16e14a836","tests/expand/naming/struct-all.rs":"c13c0aacee85b8fca58f85d2d75d2e3907b3e7642f8710ed8c8e54d6015881cc","tests/expand/naming/struct-mut.expanded.rs":"94a6a1fc3c3e4eabe596c53ccbece7bb142fedbaeb7cfaacd88be1f819afe0f2","tests/expand/naming/struct-mut.rs":"9a7752a6d30e0b7033f3577a72676676900a642cdaf59f942179d1f2a8ba2bb0","tests/expand/naming/struct-none.expanded.rs":"d74deb9989f1f0ef11cac09790875e0c174bff6de342b762905918335e5f133b","tests/expand/naming/struct-none.rs":"5a6e57d9b6d00cfd4e1e69f37ce0c9d5165a21230d0363f0791665b1015870ce","tests/expand/naming/struct-ref.expanded.rs":"abf295423ada7d68d0763af4e9aee7bdd65b0bb432afb2f65a282323dcf0c6b9","tests/expand/naming/struct-ref.rs":"33c4fd344b65650dee44087ada31d4b5acd9d122123360fb7d41718c46699574","tests/expand/pinned_drop/enum.expanded.rs":"591562f90a8f6574415d9cbbd4bd0d11b2a5c507a9a9e7cf1d801d788e5ac5a8","tests/expand/pinned_drop/enum.rs":"3178d479b9b42dc74c5a2207f70c9959070672c03009021e335c34290ef620ba","tests/expand/pinned_drop/struct.expanded.rs":"17f5ffe1c78dd7ebbfcd331103a7a00ef4c3240629db6f5cbe0778798954f036","tests/expand/pinned_drop/struct.rs":"cf6a7b04451c59ce697c3ef15855c7740b0e72a6005b1f47db326bd93b1849c3","tests/expand/pub/enum.expanded.rs":"c9293953156f2da3310f76889926c61c507599075a2510b57d05461fec566575","tests/expand/pub/enum.rs":"5b60dd354a489b0326f5c4f1026b89d1471ddbb45906bc3046a65425c4e5e160","tests/expand/pub/struct.expanded.rs":"fdde95e4efe85708fb187fddb2eddc83bac99aa0bada1352f8a94c77de61748f","tests/expand/pub/struct.rs":"15b7940ce0ad1d5d133dde1870319f2f96a000bfcf29508b8cce1a62876cbd80","tests/expandtest.rs":"66bd80992a1696994ec2d14c3edc36350a0cb896d8081f1c0f8893ebeed72d03","tests/include/basic.rs":"9e399b682bc74c899d26924c2cab52a911f7392e29300defb6521e561fafafe4","tests/lint.rs":"581621ee56cb3cef0199b2502047208ff436ed1b62a6ff9e60935b172d871b79","tests/proper_unpin.rs":"57a9e8c9029ba7920ec23670b66758916e067c9cecf4d3f8b0035bec25cdb570","tests/test.rs":"8d0ee300af17535dc7fd488433630911ddc3147a3e3ccf0b9dce9f0ccdb10dc3","tests/ui/pin_project/conflict-drop.rs":"55e6809b5f59dd81e32c2c89b742c0c76db6b099a1d2621e5b882c0d20f92837","tests/ui/pin_project/conflict-drop.stderr":"7cadbfe2b8e9659c69e8d61d45128d3589444f563e1f179d6d4c9bd1d98e96e1","tests/ui/pin_project/conflict-unpin.rs":"51b3b6720fa581b63167d6ac941a1ea1bf739b09954931b2bc2f7abe2d934f26","tests/ui/pin_project/conflict-unpin.stderr":"234eadbabb506a64899d79ef436def3e7b422a7e8688212433be34afa983a7b4","tests/ui/pin_project/invalid-bounds.rs":"f86f23d377df015182f2f5dae6464a4f98c37f2198e0646f721fedc4017cb82c","tests/ui/pin_project/invalid-bounds.stderr":"200e6fab99f8ebd75116294ba9c43ae9487563239f2d57462157f5cc47c37cc3","tests/ui/pin_project/invalid.rs":"7304bd4a5bac1419382742432cfa8af83535d7be8cfad52c661410e0e9e8207a","tests/ui/pin_project/invalid.stderr":"6e8693c3341972e329e7c7a1836f308c433e0ba677fc99808d75a53e695654b1","tests/ui/pin_project/overlapping_lifetime_names.rs":"36c849a4570c8c0c32ca6c01aa75afbe1136ef73d45f17eb66175e1936678722","tests/ui/pin_project/overlapping_lifetime_names.stderr":"6958a5c0c983f3ed782203d8f221e80e154b71cb4fe2a9fb633058ec636c4cbc","tests/ui/pin_project/overlapping_unpin_struct.rs":"9a126182d1fe15a30ac60bb223b376aad747d11293d3cf512ad2dce546e3725c","tests/ui/pin_project/overlapping_unpin_struct.stderr":"406feb5169cd79293853b76a5cc599e692d2af3b5169fca32cb5cf1cb2ad0fc0","tests/ui/pin_project/packed.rs":"1f1a34aafbff9a59b94cdf3a53df03e9fc661d9e27e0f9962bad7f9bdad03b14","tests/ui/pin_project/packed.stderr":"5c5f08d339d4e5e2596f1f8a64158d8c2df2ea7116c04a578004f30f48ca7b0a","tests/ui/pin_project/unpin_sneaky.rs":"12e97a387ce1af6ee6a567687674aab70e96962a48f2433c39976d0b3e2c3341","tests/ui/pin_project/unpin_sneaky.stderr":"7a540e26a0e9c66794bcc10cbc337b3459a9208d32b0012f0b55fb84cfc15cf1","tests/ui/pin_project/unsupported.rs":"14defa90e736f314bbbc219973929b77bdd22e5f7e4c4c88403db764f4d167d6","tests/ui/pin_project/unsupported.stderr":"7b161bda371caeb26df426fde4dadcff61a807ffd476b2344c6b77072d6c0cc0","tests/ui/pinned_drop/call-drop-inner.rs":"032260da1fc0e649d97167a8a4ac47eea915000efebdfdc490f050b6f9351027","tests/ui/pinned_drop/call-drop-inner.stderr":"abec9d82aeb49c860e313db0a3ad0d2024d7500750d4f9a0f8b0ce00478dbcbf","tests/ui/pinned_drop/conditional-drop-impl.rs":"0b28c74213cee83e7b27223d7d37f903f79abd3dddcc0f969e14047674908085","tests/ui/pinned_drop/conditional-drop-impl.stderr":"a845afaa89054f7c516029090a201f3beecf59d6e9e4fca18ca3678d27666a92"},"package":"4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"} \ No newline at end of file
diff --git a/vendor/pin-project-lite/CHANGELOG.md b/vendor/pin-project-lite/CHANGELOG.md
index 127e46798..c679f66e1 100644
--- a/vendor/pin-project-lite/CHANGELOG.md
+++ b/vendor/pin-project-lite/CHANGELOG.md
@@ -10,9 +10,13 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
+## [0.2.10] - 2023-07-02
+
+- Inline project methods. ([#74](https://github.com/taiki-e/pin-project-lite/pull/74), thanks @EFanZh)
+
## [0.2.9] - 2022-04-26
-- Improve compile time of `pin_project!` calls. (#71, thanks @nnethercote)
+- Improve compile time of `pin_project!` calls. ([#71](https://github.com/taiki-e/pin-project-lite/pull/71), thanks @nnethercote)
## [0.2.8] - 2021-12-31
@@ -196,7 +200,8 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
Initial release
-[Unreleased]: https://github.com/taiki-e/pin-project-lite/compare/v0.2.9...HEAD
+[Unreleased]: https://github.com/taiki-e/pin-project-lite/compare/v0.2.10...HEAD
+[0.2.10]: https://github.com/taiki-e/pin-project-lite/compare/v0.2.9...v0.2.10
[0.2.9]: https://github.com/taiki-e/pin-project-lite/compare/v0.2.8...v0.2.9
[0.2.8]: https://github.com/taiki-e/pin-project-lite/compare/v0.2.7...v0.2.8
[0.2.7]: https://github.com/taiki-e/pin-project-lite/compare/v0.2.6...v0.2.7
diff --git a/vendor/pin-project-lite/Cargo.toml b/vendor/pin-project-lite/Cargo.toml
index 8a9436d87..93667ce1f 100644
--- a/vendor/pin-project-lite/Cargo.toml
+++ b/vendor/pin-project-lite/Cargo.toml
@@ -13,14 +13,16 @@
edition = "2018"
rust-version = "1.37"
name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.10"
exclude = [
"/.*",
"/tools",
+ "/DEVELOPMENT.md",
]
description = """
A lightweight version of pin-project written with declarative macros.
"""
+readme = "README.md"
keywords = [
"pin",
"macros",
@@ -35,11 +37,26 @@ repository = "https://github.com/taiki-e/pin-project-lite"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
+[lib]
+doc-scrape-examples = false
+
+[dev-dependencies.macrotest]
+version = "1.0.9"
+
+[dev-dependencies.once_cell]
+version = "=1.14"
+
[dev-dependencies.rustversion]
version = "1"
+[dev-dependencies.serde]
+version = "=1.0.156"
+
[dev-dependencies.static_assertions]
version = "1"
+[dev-dependencies.toml]
+version = "=0.5.9"
+
[dev-dependencies.trybuild]
-version = "1.0.49"
+version = "=1.0.67"
diff --git a/vendor/pin-project-lite/README.md b/vendor/pin-project-lite/README.md
index 78adb7e36..5a622d8ea 100644
--- a/vendor/pin-project-lite/README.md
+++ b/vendor/pin-project-lite/README.md
@@ -1,11 +1,12 @@
# pin-project-lite
[![crates.io](https://img.shields.io/crates/v/pin-project-lite?style=flat-square&logo=rust)](https://crates.io/crates/pin-project-lite)
-[![docs.rs](https://img.shields.io/badge/docs.rs-pin--project--lite-blue?style=flat-square)](https://docs.rs/pin-project-lite)
+[![docs.rs](https://img.shields.io/badge/docs.rs-pin--project--lite-blue?style=flat-square&logo=docs.rs)](https://docs.rs/pin-project-lite)
[![license](https://img.shields.io/badge/license-Apache--2.0_OR_MIT-blue?style=flat-square)](#license)
[![rustc](https://img.shields.io/badge/rustc-1.37+-blue?style=flat-square&logo=rust)](https://www.rust-lang.org)
-[![build status](https://img.shields.io/github/workflow/status/taiki-e/pin-project-lite/CI/main?style=flat-square&logo=github)](https://github.com/taiki-e/pin-project-lite/actions)
+[![build status](https://img.shields.io/github/actions/workflow/status/taiki-e/pin-project-lite/ci.yml?branch=main&style=flat-square&logo=github)](https://github.com/taiki-e/pin-project-lite/actions)
+<!-- tidy:crate-doc:start -->
A lightweight version of [pin-project] written with declarative macros.
## Usage
@@ -110,11 +111,14 @@ pin-project supports this by [`UnsafeUnpin`][unsafe-unpin] and [`!Unpin`][not-un
pin-project supports this.
-[`pin_project!`]: https://docs.rs/pin-project-lite/0.2/pin_project_lite/macro.pin_project.html
[not-unpin]: https://docs.rs/pin-project/1/pin_project/attr.pin_project.html#unpin
[pin-project]: https://github.com/taiki-e/pin-project
[unsafe-unpin]: https://docs.rs/pin-project/1/pin_project/attr.pin_project.html#unsafeunpin
+<!-- tidy:crate-doc:end -->
+
+[`pin_project!`]: https://docs.rs/pin-project-lite/0.2/pin_project_lite/macro.pin_project.html
+
## License
Licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or
diff --git a/vendor/pin-project-lite/src/lib.rs b/vendor/pin-project-lite/src/lib.rs
index f5ecc990d..89e56928d 100644
--- a/vendor/pin-project-lite/src/lib.rs
+++ b/vendor/pin-project-lite/src/lib.rs
@@ -1,98 +1,115 @@
-//! A lightweight version of [pin-project] written with declarative macros.
-//!
-//! # Examples
-//!
-//! [`pin_project!`] macro creates a projection type covering all the fields of struct.
-//!
-//! ```rust
-//! use std::pin::Pin;
-//!
-//! use pin_project_lite::pin_project;
-//!
-//! pin_project! {
-//! struct Struct<T, U> {
-//! #[pin]
-//! pinned: T,
-//! unpinned: U,
-//! }
-//! }
-//!
-//! impl<T, U> Struct<T, U> {
-//! fn method(self: Pin<&mut Self>) {
-//! let this = self.project();
-//! let _: Pin<&mut T> = this.pinned; // Pinned reference to the field
-//! let _: &mut U = this.unpinned; // Normal reference to the field
-//! }
-//! }
-//! ```
-//!
-//! To use [`pin_project!`] on enums, you need to name the projection type
-//! returned from the method.
-//!
-//! ```rust
-//! use std::pin::Pin;
-//!
-//! use pin_project_lite::pin_project;
-//!
-//! pin_project! {
-//! #[project = EnumProj]
-//! enum Enum<T, U> {
-//! Variant { #[pin] pinned: T, unpinned: U },
-//! }
-//! }
-//!
-//! impl<T, U> Enum<T, U> {
-//! fn method(self: Pin<&mut Self>) {
-//! match self.project() {
-//! EnumProj::Variant { pinned, unpinned } => {
-//! let _: Pin<&mut T> = pinned;
-//! let _: &mut U = unpinned;
-//! }
-//! }
-//! }
-//! }
-//! ```
-//!
-//! # [pin-project] vs pin-project-lite
-//!
-//! Here are some similarities and differences compared to [pin-project].
-//!
-//! ## Similar: Safety
-//!
-//! pin-project-lite guarantees safety in much the same way as [pin-project].
-//! Both are completely safe unless you write other unsafe code.
-//!
-//! ## Different: Minimal design
-//!
-//! This library does not tackle as expansive of a range of use cases as
-//! [pin-project] does. If your use case is not already covered, please use
-//! [pin-project].
-//!
-//! ## Different: No proc-macro related dependencies
-//!
-//! This is the **only** reason to use this crate. However, **if you already
-//! have proc-macro related dependencies in your crate's dependency graph, there
-//! is no benefit from using this crate.** (Note: There is almost no difference
-//! in the amount of code generated between [pin-project] and pin-project-lite.)
-//!
-//! ## Different: No useful error messages
-//!
-//! This macro does not handle any invalid input. So error messages are not to
-//! be useful in most cases. If you do need useful error messages, then upon
-//! error you can pass the same input to [pin-project] to receive a helpful
-//! description of the compile error.
-//!
-//! ## Different: No support for custom Unpin implementation
-//!
-//! pin-project supports this by [`UnsafeUnpin`][unsafe-unpin] and [`!Unpin`][not-unpin].
-//!
-//! ## Different: No support for tuple structs and tuple variants
-//!
-//! pin-project supports this.
-//!
-//! [not-unpin]: https://docs.rs/pin-project/1/pin_project/attr.pin_project.html#unpin
-//! [pin-project]: https://github.com/taiki-e/pin-project
-//! [unsafe-unpin]: https://docs.rs/pin-project/1/pin_project/attr.pin_project.html#unsafeunpin
+/*!
+<!-- tidy:crate-doc:start -->
+A lightweight version of [pin-project] written with declarative macros.
+
+## Usage
+
+Add this to your `Cargo.toml`:
+
+```toml
+[dependencies]
+pin-project-lite = "0.2"
+```
+
+*Compiler support: requires rustc 1.37+*
+
+## Examples
+
+[`pin_project!`] macro creates a projection type covering all the fields of
+struct.
+
+```rust
+use std::pin::Pin;
+
+use pin_project_lite::pin_project;
+
+pin_project! {
+ struct Struct<T, U> {
+ #[pin]
+ pinned: T,
+ unpinned: U,
+ }
+}
+
+impl<T, U> Struct<T, U> {
+ fn method(self: Pin<&mut Self>) {
+ let this = self.project();
+ let _: Pin<&mut T> = this.pinned; // Pinned reference to the field
+ let _: &mut U = this.unpinned; // Normal reference to the field
+ }
+}
+```
+
+To use [`pin_project!`] on enums, you need to name the projection type
+returned from the method.
+
+```rust
+use std::pin::Pin;
+
+use pin_project_lite::pin_project;
+
+pin_project! {
+ #[project = EnumProj]
+ enum Enum<T, U> {
+ Variant { #[pin] pinned: T, unpinned: U },
+ }
+}
+
+impl<T, U> Enum<T, U> {
+ fn method(self: Pin<&mut Self>) {
+ match self.project() {
+ EnumProj::Variant { pinned, unpinned } => {
+ let _: Pin<&mut T> = pinned;
+ let _: &mut U = unpinned;
+ }
+ }
+ }
+}
+```
+
+## [pin-project] vs pin-project-lite
+
+Here are some similarities and differences compared to [pin-project].
+
+### Similar: Safety
+
+pin-project-lite guarantees safety in much the same way as [pin-project].
+Both are completely safe unless you write other unsafe code.
+
+### Different: Minimal design
+
+This library does not tackle as expansive of a range of use cases as
+[pin-project] does. If your use case is not already covered, please use
+[pin-project].
+
+### Different: No proc-macro related dependencies
+
+This is the **only** reason to use this crate. However, **if you already
+have proc-macro related dependencies in your crate's dependency graph, there
+is no benefit from using this crate.** (Note: There is almost no difference
+in the amount of code generated between [pin-project] and pin-project-lite.)
+
+### Different: No useful error messages
+
+This macro does not handle any invalid input. So error messages are not to
+be useful in most cases. If you do need useful error messages, then upon
+error you can pass the same input to [pin-project] to receive a helpful
+description of the compile error.
+
+### Different: No support for custom Unpin implementation
+
+pin-project supports this by [`UnsafeUnpin`][unsafe-unpin] and [`!Unpin`][not-unpin].
+
+### Different: No support for tuple structs and tuple variants
+
+pin-project supports this.
+
+[not-unpin]: https://docs.rs/pin-project/1/pin_project/attr.pin_project.html#unpin
+[pin-project]: https://github.com/taiki-e/pin-project
+[unsafe-unpin]: https://docs.rs/pin-project/1/pin_project/attr.pin_project.html#unsafeunpin
+
+<!-- tidy:crate-doc:end -->
+*/
#![no_std]
#![doc(test(
@@ -103,7 +120,21 @@
)
))]
#![warn(rust_2018_idioms, single_use_lifetimes, unreachable_pub)]
-#![warn(clippy::default_trait_access, clippy::wildcard_imports)]
+#![warn(
+ clippy::pedantic,
+ // lints for public library
+ clippy::alloc_instead_of_core,
+ clippy::exhaustive_enums,
+ clippy::exhaustive_structs,
+ clippy::std_instead_of_alloc,
+ clippy::std_instead_of_core,
+ // lints that help writing unsafe code
+ clippy::as_ptr_cast_mut,
+ clippy::default_union_representation,
+ clippy::trailing_empty_array,
+ clippy::transmute_undefined_repr,
+ clippy::undocumented_unsafe_blocks,
+)]
/// A macro that creates a projection type covering all the fields of struct.
///
@@ -923,6 +954,7 @@ macro_rules! __pin_project_struct_make_proj_method {
),+
}
) => {
+ #[inline]
$proj_vis fn $method_ident<'__pin>(
self: $crate::__private::Pin<&'__pin $($mut)? Self>,
) -> $proj_ty_ident <'__pin, $($ty_generics)*> {
@@ -956,6 +988,7 @@ macro_rules! __pin_project_struct_make_proj_replace_method {
),+
}
) => {
+ #[inline]
$proj_vis fn project_replace(
self: $crate::__private::Pin<&mut Self>,
replacement: Self,
@@ -1003,6 +1036,7 @@ macro_rules! __pin_project_enum_make_proj_method {
),+
}
) => {
+ #[inline]
$proj_vis fn $method_ident<'__pin>(
self: $crate::__private::Pin<&'__pin $($mut)? Self>,
) -> $proj_ty_ident <'__pin, $($ty_generics)*> {
@@ -1046,6 +1080,7 @@ macro_rules! __pin_project_enum_make_proj_replace_method {
),+
}
) => {
+ #[inline]
$proj_vis fn project_replace(
self: $crate::__private::Pin<&mut Self>,
replacement: Self,
@@ -1528,6 +1563,8 @@ pub mod __private {
impl<T: ?Sized> Drop for UnsafeDropInPlaceGuard<T> {
fn drop(&mut self) {
+ // SAFETY: the caller of `UnsafeDropInPlaceGuard::new` must guarantee
+ // that `ptr` is valid for drop when this guard is destructed.
unsafe {
ptr::drop_in_place(self.0);
}
@@ -1551,6 +1588,8 @@ pub mod __private {
impl<T> Drop for UnsafeOverwriteGuard<T> {
fn drop(&mut self) {
+ // SAFETY: the caller of `UnsafeOverwriteGuard::new` must guarantee
+ // that `target` is valid for writes when this guard is destructed.
unsafe {
ptr::write(self.target, ptr::read(&*self.value));
}
diff --git a/vendor/pin-project-lite/tests/README.md b/vendor/pin-project-lite/tests/README.md
deleted file mode 100644
index 47216165d..000000000
--- a/vendor/pin-project-lite/tests/README.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Tests
-
-Many of the tests in this repository are based on [pin-project's tests](https://github.com/taiki-e/pin-project/tree/HEAD/tests).
-
-To run all tests, run the following command:
-
-```sh
-cargo +nightly test --all
-```
-
-## UI tests (`ui`, `compiletest.rs`)
-
-This checks errors detected by the macro or the Rust compiler in the resulting
-expanded code.
-
-To run this test, run the following command:
-
-```sh
-cargo +nightly test --test compiletest
-```
-
-Locally, this test updates the files in the `ui` directory if there are
-changes to the generated code. If there are any changes to the files in the
-`ui` directory after running the test, please commit them.
-
-See also [`trybuild` documentation](https://docs.rs/trybuild).
-
-## Expansion tests (`expand`, `expandtest.rs`)
-
-Similar to ui tests, but instead of checking the compiler output, this checks
-the code generated by macros.
-
-See pin-project's [examples](https://github.com/taiki-e/pin-project/tree/HEAD/examples)
-for descriptions of what the generated code does, and why it needs to be generated.
-
-To run this test, run the following command:
-
-```sh
-cargo +nightly test --test expandtest
-```
-
-Locally, this test updates the files in the `expand` directory if there are
-changes to the generated code. If there are any changes to the files in the
-`expand` directory after running the test, please commit them.
-
-See also [`macrotest` documentation](https://docs.rs/macrotest).
diff --git a/vendor/pin-project-lite/tests/compiletest.rs b/vendor/pin-project-lite/tests/compiletest.rs
index 70d235894..06712d01b 100644
--- a/vendor/pin-project-lite/tests/compiletest.rs
+++ b/vendor/pin-project-lite/tests/compiletest.rs
@@ -1,4 +1,5 @@
#![cfg(not(miri))]
+#![cfg(not(careful))]
#![warn(rust_2018_idioms, single_use_lifetimes)]
use std::env;
diff --git a/vendor/pin-project-lite/tests/expand/default/enum.expanded.rs b/vendor/pin-project-lite/tests/expand/default/enum.expanded.rs
index eae0aac85..09e869144 100644
--- a/vendor/pin-project-lite/tests/expand/default/enum.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/default/enum.expanded.rs
@@ -43,10 +43,7 @@ where
#[allow(clippy::redundant_pub_crate)]
#[allow(clippy::type_repetition_in_bounds)]
enum EnumProjReplace<T, U> {
- Struct {
- pinned: ::pin_project_lite::__private::PhantomData<T>,
- unpinned: U,
- },
+ Struct { pinned: ::pin_project_lite::__private::PhantomData<T>, unpinned: U },
Unit,
}
#[allow(single_use_lifetimes)]
@@ -54,32 +51,43 @@ enum EnumProjReplace<T, U> {
#[allow(clippy::used_underscore_binding)]
const _: () = {
impl<T, U> Enum<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> EnumProj<'__pin, T, U> {
unsafe {
match self.get_unchecked_mut() {
- Self::Struct { pinned, unpinned } => EnumProj::Struct {
- pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
- unpinned: unpinned,
- },
+ Self::Struct { pinned, unpinned } => {
+ EnumProj::Struct {
+ pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+ pinned,
+ ),
+ unpinned: unpinned,
+ }
+ }
Self::Unit => EnumProj::Unit,
}
}
}
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> EnumProjRef<'__pin, T, U> {
unsafe {
match self.get_ref() {
- Self::Struct { pinned, unpinned } => EnumProjRef::Struct {
- pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
- unpinned: unpinned,
- },
+ Self::Struct { pinned, unpinned } => {
+ EnumProjRef::Struct {
+ pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+ pinned,
+ ),
+ unpinned: unpinned,
+ }
+ }
Self::Unit => EnumProjRef::Unit,
}
}
}
+ #[inline]
fn project_replace(
self: ::pin_project_lite::__private::Pin<&mut Self>,
replacement: Self,
@@ -98,7 +106,9 @@ const _: () = {
};
{
(
- ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned),
+ ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+ pinned,
+ ),
(),
);
}
@@ -115,10 +125,10 @@ const _: () = {
Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
Unit: (),
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/default/struct.expanded.rs b/vendor/pin-project-lite/tests/expand/default/struct.expanded.rs
index 8ab318cfb..fc10dd718 100644
--- a/vendor/pin-project-lite/tests/expand/default/struct.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/default/struct.expanded.rs
@@ -38,6 +38,7 @@ const _: () = {
unpinned: &'__pin (U),
}
impl<T, U> Struct<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> Projection<'__pin, T, U> {
@@ -49,6 +50,7 @@ const _: () = {
}
}
}
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> ProjectionRef<'__pin, T, U> {
@@ -67,10 +69,10 @@ const _: () = {
pinned: T,
unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/multifields/enum.expanded.rs b/vendor/pin-project-lite/tests/expand/multifields/enum.expanded.rs
index fca0febcd..f6bf9dcdd 100644
--- a/vendor/pin-project-lite/tests/expand/multifields/enum.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/multifields/enum.expanded.rs
@@ -1,11 +1,6 @@
use pin_project_lite::pin_project;
enum Enum<T, U> {
- Struct {
- pinned1: T,
- pinned2: T,
- unpinned1: U,
- unpinned2: U,
- },
+ Struct { pinned1: T, pinned2: T, unpinned1: U, unpinned2: U },
Unit,
}
#[allow(dead_code)]
@@ -27,6 +22,7 @@ enum EnumProjReplace<T, U> {
#[allow(clippy::used_underscore_binding)]
const _: () = {
impl<T, U> Enum<T, U> {
+ #[inline]
fn project_replace(
self: ::pin_project_lite::__private::Pin<&mut Self>,
replacement: Self,
@@ -38,22 +34,25 @@ const _: () = {
replacement,
);
match &mut *__self_ptr {
- Self::Struct {
- pinned1,
- pinned2,
- unpinned1,
- unpinned2,
- } => {
+ Self::Struct { pinned1, pinned2, unpinned1, unpinned2 } => {
let result = EnumProjReplace::Struct {
pinned1: ::pin_project_lite::__private::PhantomData,
pinned2: ::pin_project_lite::__private::PhantomData,
- unpinned1: ::pin_project_lite::__private::ptr::read(unpinned1),
- unpinned2: ::pin_project_lite::__private::ptr::read(unpinned2),
+ unpinned1: ::pin_project_lite::__private::ptr::read(
+ unpinned1,
+ ),
+ unpinned2: ::pin_project_lite::__private::ptr::read(
+ unpinned2,
+ ),
};
{
(
- ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned1),
- ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned2),
+ ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+ pinned1,
+ ),
+ ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+ pinned2,
+ ),
(),
(),
);
@@ -76,10 +75,10 @@ const _: () = {
),
Unit: (),
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/multifields/struct.expanded.rs b/vendor/pin-project-lite/tests/expand/multifields/struct.expanded.rs
index 4320f6843..fdf6edfa4 100644
--- a/vendor/pin-project-lite/tests/expand/multifields/struct.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/multifields/struct.expanded.rs
@@ -55,16 +55,13 @@ const _: () = {
unpinned2: &'__pin (U),
}
impl<T, U> Struct<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> Projection<'__pin, T, U> {
unsafe {
- let Self {
- pinned1,
- pinned2,
- unpinned1,
- unpinned2,
- } = self.get_unchecked_mut();
+ let Self { pinned1, pinned2, unpinned1, unpinned2 } = self
+ .get_unchecked_mut();
Projection {
pinned1: ::pin_project_lite::__private::Pin::new_unchecked(pinned1),
pinned2: ::pin_project_lite::__private::Pin::new_unchecked(pinned2),
@@ -73,16 +70,12 @@ const _: () = {
}
}
}
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> ProjectionRef<'__pin, T, U> {
unsafe {
- let Self {
- pinned1,
- pinned2,
- unpinned1,
- unpinned2,
- } = self.get_ref();
+ let Self { pinned1, pinned2, unpinned1, unpinned2 } = self.get_ref();
ProjectionRef {
pinned1: ::pin_project_lite::__private::Pin::new_unchecked(pinned1),
pinned2: ::pin_project_lite::__private::Pin::new_unchecked(pinned2),
@@ -91,6 +84,7 @@ const _: () = {
}
}
}
+ #[inline]
fn project_replace(
self: ::pin_project_lite::__private::Pin<&mut Self>,
replacement: Self,
@@ -101,12 +95,7 @@ const _: () = {
__self_ptr,
replacement,
);
- let Self {
- pinned1,
- pinned2,
- unpinned1,
- unpinned2,
- } = &mut *__self_ptr;
+ let Self { pinned1, pinned2, unpinned1, unpinned2 } = &mut *__self_ptr;
let result = StructProjReplace {
pinned1: ::pin_project_lite::__private::PhantomData,
pinned2: ::pin_project_lite::__private::PhantomData,
@@ -115,8 +104,12 @@ const _: () = {
};
{
(
- ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned1),
- ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned2),
+ ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+ pinned1,
+ ),
+ ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+ pinned2,
+ ),
(),
(),
);
@@ -133,10 +126,10 @@ const _: () = {
unpinned1: ::pin_project_lite::__private::AlwaysUnpin<U>,
unpinned2: ::pin_project_lite::__private::AlwaysUnpin<U>,
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/enum-all.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/enum-all.expanded.rs
index eae0aac85..09e869144 100644
--- a/vendor/pin-project-lite/tests/expand/naming/enum-all.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/enum-all.expanded.rs
@@ -43,10 +43,7 @@ where
#[allow(clippy::redundant_pub_crate)]
#[allow(clippy::type_repetition_in_bounds)]
enum EnumProjReplace<T, U> {
- Struct {
- pinned: ::pin_project_lite::__private::PhantomData<T>,
- unpinned: U,
- },
+ Struct { pinned: ::pin_project_lite::__private::PhantomData<T>, unpinned: U },
Unit,
}
#[allow(single_use_lifetimes)]
@@ -54,32 +51,43 @@ enum EnumProjReplace<T, U> {
#[allow(clippy::used_underscore_binding)]
const _: () = {
impl<T, U> Enum<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> EnumProj<'__pin, T, U> {
unsafe {
match self.get_unchecked_mut() {
- Self::Struct { pinned, unpinned } => EnumProj::Struct {
- pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
- unpinned: unpinned,
- },
+ Self::Struct { pinned, unpinned } => {
+ EnumProj::Struct {
+ pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+ pinned,
+ ),
+ unpinned: unpinned,
+ }
+ }
Self::Unit => EnumProj::Unit,
}
}
}
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> EnumProjRef<'__pin, T, U> {
unsafe {
match self.get_ref() {
- Self::Struct { pinned, unpinned } => EnumProjRef::Struct {
- pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
- unpinned: unpinned,
- },
+ Self::Struct { pinned, unpinned } => {
+ EnumProjRef::Struct {
+ pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+ pinned,
+ ),
+ unpinned: unpinned,
+ }
+ }
Self::Unit => EnumProjRef::Unit,
}
}
}
+ #[inline]
fn project_replace(
self: ::pin_project_lite::__private::Pin<&mut Self>,
replacement: Self,
@@ -98,7 +106,9 @@ const _: () = {
};
{
(
- ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned),
+ ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+ pinned,
+ ),
(),
);
}
@@ -115,10 +125,10 @@ const _: () = {
Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
Unit: (),
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/enum-mut.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/enum-mut.expanded.rs
index 7c4d6afbf..79c9050e6 100644
--- a/vendor/pin-project-lite/tests/expand/naming/enum-mut.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/enum-mut.expanded.rs
@@ -25,15 +25,20 @@ where
#[allow(clippy::used_underscore_binding)]
const _: () = {
impl<T, U> Enum<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> EnumProj<'__pin, T, U> {
unsafe {
match self.get_unchecked_mut() {
- Self::Struct { pinned, unpinned } => EnumProj::Struct {
- pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
- unpinned: unpinned,
- },
+ Self::Struct { pinned, unpinned } => {
+ EnumProj::Struct {
+ pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+ pinned,
+ ),
+ unpinned: unpinned,
+ }
+ }
Self::Unit => EnumProj::Unit,
}
}
@@ -45,10 +50,10 @@ const _: () = {
Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
Unit: (),
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/enum-none.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/enum-none.expanded.rs
index 28ce97da7..fc3b3dcaf 100644
--- a/vendor/pin-project-lite/tests/expand/naming/enum-none.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/enum-none.expanded.rs
@@ -14,10 +14,10 @@ const _: () = {
Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
Unit: (),
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/enum-ref.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/enum-ref.expanded.rs
index a1a013bda..fa155d9b5 100644
--- a/vendor/pin-project-lite/tests/expand/naming/enum-ref.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/enum-ref.expanded.rs
@@ -25,15 +25,20 @@ where
#[allow(clippy::used_underscore_binding)]
const _: () = {
impl<T, U> Enum<T, U> {
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> EnumProjRef<'__pin, T, U> {
unsafe {
match self.get_ref() {
- Self::Struct { pinned, unpinned } => EnumProjRef::Struct {
- pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
- unpinned: unpinned,
- },
+ Self::Struct { pinned, unpinned } => {
+ EnumProjRef::Struct {
+ pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+ pinned,
+ ),
+ unpinned: unpinned,
+ }
+ }
Self::Unit => EnumProjRef::Unit,
}
}
@@ -45,10 +50,10 @@ const _: () = {
Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
Unit: (),
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/struct-all.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/struct-all.expanded.rs
index b91c24eb2..dfea76248 100644
--- a/vendor/pin-project-lite/tests/expand/naming/struct-all.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/struct-all.expanded.rs
@@ -47,6 +47,7 @@ struct StructProjReplace<T, U> {
#[allow(clippy::used_underscore_binding)]
const _: () = {
impl<T, U> Struct<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> StructProj<'__pin, T, U> {
@@ -58,6 +59,7 @@ const _: () = {
}
}
}
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> StructProjRef<'__pin, T, U> {
@@ -69,6 +71,7 @@ const _: () = {
}
}
}
+ #[inline]
fn project_replace(
self: ::pin_project_lite::__private::Pin<&mut Self>,
replacement: Self,
@@ -86,7 +89,9 @@ const _: () = {
};
{
(
- ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned),
+ ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+ pinned,
+ ),
(),
);
}
@@ -100,10 +105,10 @@ const _: () = {
pinned: T,
unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/struct-mut.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/struct-mut.expanded.rs
index aaa41cd08..ed05dbbd1 100644
--- a/vendor/pin-project-lite/tests/expand/naming/struct-mut.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/struct-mut.expanded.rs
@@ -38,6 +38,7 @@ const _: () = {
unpinned: &'__pin (U),
}
impl<T, U> Struct<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> StructProj<'__pin, T, U> {
@@ -49,6 +50,7 @@ const _: () = {
}
}
}
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> ProjectionRef<'__pin, T, U> {
@@ -67,10 +69,10 @@ const _: () = {
pinned: T,
unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/struct-none.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/struct-none.expanded.rs
index 8ab318cfb..fc10dd718 100644
--- a/vendor/pin-project-lite/tests/expand/naming/struct-none.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/struct-none.expanded.rs
@@ -38,6 +38,7 @@ const _: () = {
unpinned: &'__pin (U),
}
impl<T, U> Struct<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> Projection<'__pin, T, U> {
@@ -49,6 +50,7 @@ const _: () = {
}
}
}
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> ProjectionRef<'__pin, T, U> {
@@ -67,10 +69,10 @@ const _: () = {
pinned: T,
unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/struct-ref.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/struct-ref.expanded.rs
index 3d97ab8fa..4edb63147 100644
--- a/vendor/pin-project-lite/tests/expand/naming/struct-ref.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/struct-ref.expanded.rs
@@ -38,6 +38,7 @@ const _: () = {
unpinned: &'__pin mut (U),
}
impl<T, U> Struct<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> Projection<'__pin, T, U> {
@@ -49,6 +50,7 @@ const _: () = {
}
}
}
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> StructProjRef<'__pin, T, U> {
@@ -67,10 +69,10 @@ const _: () = {
pinned: T,
unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/pinned_drop/enum.expanded.rs b/vendor/pin-project-lite/tests/expand/pinned_drop/enum.expanded.rs
index 665ff6338..838707dc5 100644
--- a/vendor/pin-project-lite/tests/expand/pinned_drop/enum.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/pinned_drop/enum.expanded.rs
@@ -1,5 +1,5 @@
-use pin_project_lite::pin_project;
use std::pin::Pin;
+use pin_project_lite::pin_project;
enum Enum<T, U> {
Struct { pinned: T, unpinned: U },
Unit,
@@ -43,28 +43,38 @@ where
#[allow(clippy::used_underscore_binding)]
const _: () = {
impl<T, U> Enum<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> EnumProj<'__pin, T, U> {
unsafe {
match self.get_unchecked_mut() {
- Self::Struct { pinned, unpinned } => EnumProj::Struct {
- pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
- unpinned: unpinned,
- },
+ Self::Struct { pinned, unpinned } => {
+ EnumProj::Struct {
+ pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+ pinned,
+ ),
+ unpinned: unpinned,
+ }
+ }
Self::Unit => EnumProj::Unit,
}
}
}
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> EnumProjRef<'__pin, T, U> {
unsafe {
match self.get_ref() {
- Self::Struct { pinned, unpinned } => EnumProjRef::Struct {
- pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
- unpinned: unpinned,
- },
+ Self::Struct { pinned, unpinned } => {
+ EnumProjRef::Struct {
+ pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+ pinned,
+ ),
+ unpinned: unpinned,
+ }
+ }
Self::Unit => EnumProjRef::Unit,
}
}
@@ -76,18 +86,21 @@ const _: () = {
Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
Unit: (),
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
impl<T, U> ::pin_project_lite::__private::Drop for Enum<T, U> {
fn drop(&mut self) {
- fn __drop_inner<T, U>(this: ::pin_project_lite::__private::Pin<&mut Enum<T, U>>) {
+ fn __drop_inner<T, U>(
+ this: ::pin_project_lite::__private::Pin<&mut Enum<T, U>>,
+ ) {
fn __drop_inner() {}
let _ = this;
}
- let pinned_self: ::pin_project_lite::__private::Pin<&mut Self> =
- unsafe { ::pin_project_lite::__private::Pin::new_unchecked(self) };
+ let pinned_self: ::pin_project_lite::__private::Pin<&mut Self> = unsafe {
+ ::pin_project_lite::__private::Pin::new_unchecked(self)
+ };
__drop_inner(pinned_self);
}
}
diff --git a/vendor/pin-project-lite/tests/expand/pinned_drop/enum.rs b/vendor/pin-project-lite/tests/expand/pinned_drop/enum.rs
index 1855cb7a1..5f3508c0e 100644
--- a/vendor/pin-project-lite/tests/expand/pinned_drop/enum.rs
+++ b/vendor/pin-project-lite/tests/expand/pinned_drop/enum.rs
@@ -1,6 +1,7 @@
-use pin_project_lite::pin_project;
use std::pin::Pin;
+use pin_project_lite::pin_project;
+
pin_project! {
#[project = EnumProj]
#[project_ref = EnumProjRef]
diff --git a/vendor/pin-project-lite/tests/expand/pinned_drop/struct.expanded.rs b/vendor/pin-project-lite/tests/expand/pinned_drop/struct.expanded.rs
index 5b82b7a19..567fefa8c 100644
--- a/vendor/pin-project-lite/tests/expand/pinned_drop/struct.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/pinned_drop/struct.expanded.rs
@@ -1,5 +1,5 @@
-use pin_project_lite::pin_project;
use std::pin::Pin;
+use pin_project_lite::pin_project;
struct Struct<T, U> {
pinned: T,
unpinned: U,
@@ -39,6 +39,7 @@ const _: () = {
unpinned: &'__pin (U),
}
impl<T, U> Struct<T, U> {
+ #[inline]
fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> Projection<'__pin, T, U> {
@@ -50,6 +51,7 @@ const _: () = {
}
}
}
+ #[inline]
fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> ProjectionRef<'__pin, T, U> {
@@ -68,18 +70,21 @@ const _: () = {
pinned: T,
unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
impl<T, U> ::pin_project_lite::__private::Drop for Struct<T, U> {
fn drop(&mut self) {
- fn __drop_inner<T, U>(this: ::pin_project_lite::__private::Pin<&mut Struct<T, U>>) {
+ fn __drop_inner<T, U>(
+ this: ::pin_project_lite::__private::Pin<&mut Struct<T, U>>,
+ ) {
fn __drop_inner() {}
let _ = this;
}
- let pinned_self: ::pin_project_lite::__private::Pin<&mut Self> =
- unsafe { ::pin_project_lite::__private::Pin::new_unchecked(self) };
+ let pinned_self: ::pin_project_lite::__private::Pin<&mut Self> = unsafe {
+ ::pin_project_lite::__private::Pin::new_unchecked(self)
+ };
__drop_inner(pinned_self);
}
}
diff --git a/vendor/pin-project-lite/tests/expand/pinned_drop/struct.rs b/vendor/pin-project-lite/tests/expand/pinned_drop/struct.rs
index 0cc756769..5400ecbbd 100644
--- a/vendor/pin-project-lite/tests/expand/pinned_drop/struct.rs
+++ b/vendor/pin-project-lite/tests/expand/pinned_drop/struct.rs
@@ -1,6 +1,7 @@
-use pin_project_lite::pin_project;
use std::pin::Pin;
+use pin_project_lite::pin_project;
+
pin_project! {
struct Struct<T, U> {
#[pin]
diff --git a/vendor/pin-project-lite/tests/expand/pub/enum.expanded.rs b/vendor/pin-project-lite/tests/expand/pub/enum.expanded.rs
index 6f190cba0..aebc3f738 100644
--- a/vendor/pin-project-lite/tests/expand/pub/enum.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/pub/enum.expanded.rs
@@ -42,28 +42,38 @@ where
#[allow(clippy::used_underscore_binding)]
const _: () = {
impl<T, U> Enum<T, U> {
+ #[inline]
pub(crate) fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> EnumProj<'__pin, T, U> {
unsafe {
match self.get_unchecked_mut() {
- Self::Struct { pinned, unpinned } => EnumProj::Struct {
- pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
- unpinned: unpinned,
- },
+ Self::Struct { pinned, unpinned } => {
+ EnumProj::Struct {
+ pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+ pinned,
+ ),
+ unpinned: unpinned,
+ }
+ }
Self::Unit => EnumProj::Unit,
}
}
}
+ #[inline]
pub(crate) fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> EnumProjRef<'__pin, T, U> {
unsafe {
match self.get_ref() {
- Self::Struct { pinned, unpinned } => EnumProjRef::Struct {
- pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
- unpinned: unpinned,
- },
+ Self::Struct { pinned, unpinned } => {
+ EnumProjRef::Struct {
+ pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+ pinned,
+ ),
+ unpinned: unpinned,
+ }
+ }
Self::Unit => EnumProjRef::Unit,
}
}
@@ -75,10 +85,10 @@ const _: () = {
Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
Unit: (),
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/pub/struct.expanded.rs b/vendor/pin-project-lite/tests/expand/pub/struct.expanded.rs
index 7b5826d14..7562eb5b7 100644
--- a/vendor/pin-project-lite/tests/expand/pub/struct.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/pub/struct.expanded.rs
@@ -38,6 +38,7 @@ const _: () = {
pub unpinned: &'__pin (U),
}
impl<T, U> Struct<T, U> {
+ #[inline]
pub(crate) fn project<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
) -> Projection<'__pin, T, U> {
@@ -49,6 +50,7 @@ const _: () = {
}
}
}
+ #[inline]
pub(crate) fn project_ref<'__pin>(
self: ::pin_project_lite::__private::Pin<&'__pin Self>,
) -> ProjectionRef<'__pin, T, U> {
@@ -67,10 +69,10 @@ const _: () = {
pinned: T,
unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
}
- impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
- __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
- {
- }
+ impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+ where
+ __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+ {}
trait MustNotImplDrop {}
#[allow(clippy::drop_bounds, drop_bounds)]
impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expandtest.rs b/vendor/pin-project-lite/tests/expandtest.rs
index 3f0d5c112..04a06669d 100644
--- a/vendor/pin-project-lite/tests/expandtest.rs
+++ b/vendor/pin-project-lite/tests/expandtest.rs
@@ -1,4 +1,5 @@
#![cfg(not(miri))]
+#![cfg(not(careful))]
#![warn(rust_2018_idioms, single_use_lifetimes)]
use std::{
@@ -13,9 +14,9 @@ const PATH: &str = "tests/expand/**/*.rs";
fn expandtest() {
let is_ci = env::var_os("CI").is_some();
let cargo = &*env::var("CARGO").unwrap_or_else(|_| "cargo".into());
- if !has_command(&[cargo, "expand"]) || !has_command(&[cargo, "fmt"]) {
+ if !has_command(&[cargo, "expand"]) {
if is_ci {
- panic!("expandtest requires rustfmt and cargo-expand");
+ panic!("expandtest requires cargo-expand");
}
return;
}
diff --git a/vendor/pin-project-lite/tests/lint.rs b/vendor/pin-project-lite/tests/lint.rs
index 852f940bc..cc3f3951c 100644
--- a/vendor/pin-project-lite/tests/lint.rs
+++ b/vendor/pin-project-lite/tests/lint.rs
@@ -18,6 +18,7 @@
box_pointers,
deprecated_in_future,
fuzzy_provenance_casts,
+ let_underscore_drop,
lossy_provenance_casts,
macro_use_extern_crate,
meta_variable_misuse,
@@ -27,14 +28,18 @@
missing_docs,
non_ascii_idents,
noop_method_call,
+ private_bounds,
+ private_interfaces,
single_use_lifetimes,
trivial_casts,
trivial_numeric_casts,
+ unnameable_types,
unreachable_pub,
unused_import_braces,
unused_lifetimes,
unused_qualifications,
unused_results,
+ unused_tuple_struct_fields,
variant_size_differences
)]
#![warn(clippy::all, clippy::pedantic, clippy::nursery, clippy::restriction)]
@@ -212,11 +217,11 @@ pub mod clippy_type_repetition_in_bounds {
}
}
+#[allow(missing_debug_implementations)]
pub mod clippy_used_underscore_binding {
use pin_project_lite::pin_project;
pin_project! {
- #[derive(Debug)]
pub struct Struct<T, U> {
#[pin]
pub _pinned: T,
@@ -227,7 +232,6 @@ pub mod clippy_used_underscore_binding {
pin_project! {
#[project = EnumProj]
#[project_ref = EnumProjRef]
- #[derive(Debug)]
pub enum Enum<T, U> {
Struct {
#[pin]
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.stderr b/vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.stderr
index 66872bd4b..8c870d751 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.stderr
@@ -1,4 +1,4 @@
-error[E0119]: conflicting implementations of trait `_::MustNotImplDrop` for type `Foo<_, _>`
+error[E0119]: conflicting implementations of trait `MustNotImplDrop` for type `Foo<_, _>`
--> tests/ui/pin_project/conflict-drop.rs:3:1
|
3 | / pin_project! { //~ ERROR E0119
@@ -13,4 +13,4 @@ error[E0119]: conflicting implementations of trait `_::MustNotImplDrop` for type
| |_first implementation here
| conflicting implementation for `Foo<_, _>`
|
- = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.stderr b/vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.stderr
index bd30fafdd..3ac8c1f83 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.stderr
@@ -1,4 +1,4 @@
-error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Foo<_, _>`
+error[E0119]: conflicting implementations of trait `Unpin` for type `Foo<_, _>`
--> tests/ui/pin_project/conflict-unpin.rs:5:1
|
5 | / pin_project! { //~ ERROR E0119
@@ -11,11 +11,11 @@ error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type
| |_^ conflicting implementation for `Foo<_, _>`
...
14 | impl<T, U> Unpin for Foo<T, U> where T: Unpin {} // Conditional Unpin impl
- | --------------------------------------------- first implementation here
+ | ------------------------------ first implementation here
|
- = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
-error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Bar<_, _>`
+error[E0119]: conflicting implementations of trait `Unpin` for type `Bar<_, _>`
--> tests/ui/pin_project/conflict-unpin.rs:18:1
|
18 | / pin_project! { //~ ERROR E0119
@@ -30,9 +30,9 @@ error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type
27 | impl<T, U> Unpin for Bar<T, U> {} // Non-conditional Unpin impl
| ------------------------------ first implementation here
|
- = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
-error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Baz<_, _>`
+error[E0119]: conflicting implementations of trait `Unpin` for type `Baz<_, _>`
--> tests/ui/pin_project/conflict-unpin.rs:29:1
|
29 | / pin_project! { //~ ERROR E0119
@@ -47,4 +47,4 @@ error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type
38 | impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {} // Conditional Unpin impl
| -------------------------------------------- first implementation here
|
- = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.stderr b/vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.stderr
index 40e79bf92..ae15b7a35 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.stderr
@@ -3,12 +3,24 @@ error: no rules expected the token `:`
|
4 | struct Generics1<T: 'static : Sized> { //~ ERROR no rules expected the token `:`
| ^ no rules expected this token in macro call
+ |
+note: while trying to match `>`
+ --> src/lib.rs
+ |
+ | >)?
+ | ^
error: no rules expected the token `:`
--> tests/ui/pin_project/invalid-bounds.rs:10:33
|
10 | struct Generics2<T: 'static : ?Sized> { //~ ERROR no rules expected the token `:`
| ^ no rules expected this token in macro call
+ |
+note: while trying to match `>`
+ --> src/lib.rs
+ |
+ | >)?
+ | ^
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:15:1
@@ -24,7 +36,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_unexpected token
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:15:1
@@ -39,7 +51,8 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_expected one of `+`, `,`, `=`, or `>`
| unexpected token
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:15:1
@@ -55,7 +68,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_unexpected token
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:15:1
@@ -71,7 +84,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_unexpected token
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:21:1
@@ -87,7 +100,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_unexpected token
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:21:1
@@ -102,7 +115,8 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_expected one of `+`, `,`, `=`, or `>`
| unexpected token
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:21:1
@@ -118,7 +132,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_unexpected token
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:21:1
@@ -134,7 +148,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_unexpected token
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:27:1
@@ -150,7 +164,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_unexpected token
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:27:1
@@ -165,7 +179,8 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_expected one of `+`, `,`, `=`, or `>`
| unexpected token
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:27:1
@@ -181,7 +196,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_unexpected token
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, `=`, or `>`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:27:1
@@ -197,25 +212,43 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
| |_unexpected token
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no rules expected the token `Sized`
--> tests/ui/pin_project/invalid-bounds.rs:34:34
|
34 | struct Generics6<T: ?Sized : Sized> { //~ ERROR no rules expected the token `Sized`
| ^^^^^ no rules expected this token in macro call
+ |
+note: while trying to match meta-variable `$generics_lifetime_bound:lifetime`
+ --> src/lib.rs
+ |
+ | $(: $generics_lifetime_bound:lifetime)?
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: no rules expected the token `:`
--> tests/ui/pin_project/invalid-bounds.rs:42:20
|
42 | T: 'static : Sized //~ ERROR no rules expected the token `:`
| ^ no rules expected this token in macro call
+ |
+note: while trying to match `{`
+ --> src/lib.rs
+ |
+ | {
+ | ^
error: no rules expected the token `:`
--> tests/ui/pin_project/invalid-bounds.rs:51:20
|
51 | T: 'static : ?Sized //~ ERROR no rules expected the token `:`
| ^ no rules expected this token in macro call
+ |
+note: while trying to match `{`
+ --> src/lib.rs
+ |
+ | {
+ | ^
error: expected `{` after struct name, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:57:1
@@ -232,7 +265,7 @@ error: expected `{` after struct name, found `:`
| |_expected `{` after struct name
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, or `{`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:57:1
@@ -249,7 +282,8 @@ error: expected one of `+`, `,`, or `{`, found `:`
| |_expected one of `+`, `,`, or `{`
| unexpected token
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected `{` after struct name, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:57:1
@@ -266,7 +300,7 @@ error: expected `{` after struct name, found `:`
| |_expected `{` after struct name
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected `{` after struct name, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:57:1
@@ -283,7 +317,7 @@ error: expected `{` after struct name, found `:`
| |_expected `{` after struct name
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected `{` after struct name, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:66:1
@@ -300,7 +334,7 @@ error: expected `{` after struct name, found `:`
| |_expected `{` after struct name
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, or `{`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:66:1
@@ -317,7 +351,8 @@ error: expected one of `+`, `,`, or `{`, found `:`
| |_expected one of `+`, `,`, or `{`
| unexpected token
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected `{` after struct name, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:66:1
@@ -334,7 +369,7 @@ error: expected `{` after struct name, found `:`
| |_expected `{` after struct name
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected `{` after struct name, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:66:1
@@ -351,7 +386,7 @@ error: expected `{` after struct name, found `:`
| |_expected `{` after struct name
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected `{` after struct name, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:75:1
@@ -368,7 +403,7 @@ error: expected `{` after struct name, found `:`
| |_expected `{` after struct name
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected one of `+`, `,`, or `{`, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:75:1
@@ -385,7 +420,8 @@ error: expected one of `+`, `,`, or `{`, found `:`
| |_expected one of `+`, `,`, or `{`
| unexpected token
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected `{` after struct name, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:75:1
@@ -402,7 +438,7 @@ error: expected `{` after struct name, found `:`
| |_expected `{` after struct name
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: expected `{` after struct name, found `:`
--> tests/ui/pin_project/invalid-bounds.rs:75:1
@@ -419,10 +455,16 @@ error: expected `{` after struct name, found `:`
| |_expected `{` after struct name
| in this macro invocation
|
- = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no rules expected the token `Sized`
--> tests/ui/pin_project/invalid-bounds.rs:87:21
|
87 | T: ?Sized : Sized //~ ERROR no rules expected the token `Sized`
| ^^^^^ no rules expected this token in macro call
+ |
+note: while trying to match meta-variable `$where_clause_lifetime_bound:lifetime`
+ --> src/lib.rs
+ |
+ | $(: $where_clause_lifetime_bound:lifetime)?
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/invalid.stderr b/vendor/pin-project-lite/tests/ui/pin_project/invalid.stderr
index 623a88672..5d2e305cf 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/invalid.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/invalid.stderr
@@ -1,56 +1,50 @@
-error: no rules expected the token `struct`
- --> tests/ui/pin_project/invalid.rs:3:1
+error: no rules expected the token `(`
+ --> tests/ui/pin_project/invalid.rs:5:14
|
-3 | / pin_project! {
-4 | | struct A<T> {
-5 | | #[pin()] //~ ERROR no rules expected the token `(`
-6 | | pinned: T,
-7 | | }
-8 | | }
- | |_^ no rules expected this token in macro call
+5 | #[pin()] //~ ERROR no rules expected the token `(`
+ | ^ no rules expected this token in macro call
|
- = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match `]`
+ --> src/lib.rs
+ |
+ | $(#[$pin:ident])?
+ | ^
-error: no rules expected the token `struct`
- --> tests/ui/pin_project/invalid.rs:3:1
+error: no rules expected the token `(`
+ --> tests/ui/pin_project/invalid.rs:5:14
+ |
+5 | #[pin()] //~ ERROR no rules expected the token `(`
+ | ^ no rules expected this token in macro call
|
-3 | / pin_project! {
-4 | | struct A<T> {
-5 | | #[pin()] //~ ERROR no rules expected the token `(`
-6 | | pinned: T,
-7 | | }
-8 | | }
- | |_^ no rules expected this token in macro call
+note: while trying to match `]`
+ --> src/lib.rs
|
- = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+ | $(#[$pin:ident])?
+ | ^
-error: no rules expected the token `struct`
- --> tests/ui/pin_project/invalid.rs:17:1
+error: no rules expected the token `#`
+ --> tests/ui/pin_project/invalid.rs:20:9
|
-17 | / pin_project! {
-18 | | struct C<T> {
-19 | | #[pin]
-20 | | #[pin] //~ ERROR no rules expected the token `#`
-21 | | pinned: T,
-22 | | }
-23 | | }
- | |_^ no rules expected this token in macro call
+20 | #[pin] //~ ERROR no rules expected the token `#`
+ | ^ no rules expected this token in macro call
|
- = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match meta-variable `$field_vis:vis`
+ --> src/lib.rs
+ |
+ | $field_vis:vis $field:ident: $field_ty:ty
+ | ^^^^^^^^^^^^^^
-error: no rules expected the token `struct`
- --> tests/ui/pin_project/invalid.rs:17:1
+error: no rules expected the token `#`
+ --> tests/ui/pin_project/invalid.rs:20:9
+ |
+20 | #[pin] //~ ERROR no rules expected the token `#`
+ | ^ no rules expected this token in macro call
|
-17 | / pin_project! {
-18 | | struct C<T> {
-19 | | #[pin]
-20 | | #[pin] //~ ERROR no rules expected the token `#`
-21 | | pinned: T,
-22 | | }
-23 | | }
- | |_^ no rules expected this token in macro call
+note: while trying to match meta-variable `$field_vis:vis`
+ --> src/lib.rs
|
- = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+ | $field_vis:vis $field:ident: $field_ty:ty
+ | ^^^^^^^^^^^^^^
error: cannot find attribute `pin` in this scope
--> tests/ui/pin_project/invalid.rs:11:7
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.stderr b/vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.stderr
index 35074d075..cfdffb2ce 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.stderr
@@ -1,38 +1,40 @@
-error[E0263]: lifetime name `'__pin` declared twice in the same scope
+error[E0403]: the name `'__pin` is already used for a generic parameter in this item's generic parameters
--> tests/ui/pin_project/overlapping_lifetime_names.rs:4:20
|
3 | / pin_project! { //~ ERROR E0263,E0496
4 | | pub struct Foo<'__pin, T> {
- | | ^^^^^^ declared twice
+ | | ^^^^^^ already used
5 | | #[pin]
6 | | field: &'__pin mut T,
7 | | }
8 | | }
- | |_- previous declaration here
+ | |_- first use of `'__pin`
-error[E0263]: lifetime name `'__pin` declared twice in the same scope
+error[E0403]: the name `'__pin` is already used for a generic parameter in this item's generic parameters
--> tests/ui/pin_project/overlapping_lifetime_names.rs:4:20
|
3 | / pin_project! { //~ ERROR E0263,E0496
4 | | pub struct Foo<'__pin, T> {
- | | ^^^^^^ declared twice
+ | | ^^^^^^ already used
5 | | #[pin]
6 | | field: &'__pin mut T,
7 | | }
8 | | }
- | |_- previous declaration here
+ | |_- first use of `'__pin`
-error[E0263]: lifetime name `'__pin` declared twice in the same scope
- --> tests/ui/pin_project/overlapping_lifetime_names.rs:4:20
+error[E0496]: lifetime name `'__pin` shadows a lifetime name that is already in scope
+ --> tests/ui/pin_project/overlapping_lifetime_names.rs:3:1
|
3 | / pin_project! { //~ ERROR E0263,E0496
4 | | pub struct Foo<'__pin, T> {
- | | ^^^^^^ declared twice
+ | | ------ first declared here
5 | | #[pin]
6 | | field: &'__pin mut T,
7 | | }
8 | | }
- | |_- previous declaration here
+ | |_^ lifetime `'__pin` already in scope
+ |
+ = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0496]: lifetime name `'__pin` shadows a lifetime name that is already in scope
--> tests/ui/pin_project/overlapping_lifetime_names.rs:3:1
@@ -46,30 +48,28 @@ error[E0496]: lifetime name `'__pin` shadows a lifetime name that is already in
8 | | }
| |_^ lifetime `'__pin` already in scope
|
- = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
-error[E0496]: lifetime name `'__pin` shadows a lifetime name that is already in scope
- --> tests/ui/pin_project/overlapping_lifetime_names.rs:3:1
+error[E0403]: the name `'__pin` is already used for a generic parameter in this item's generic parameters
+ --> tests/ui/pin_project/overlapping_lifetime_names.rs:4:20
|
3 | / pin_project! { //~ ERROR E0263,E0496
4 | | pub struct Foo<'__pin, T> {
- | | ------ first declared here
+ | | ^^^^^^ already used
5 | | #[pin]
6 | | field: &'__pin mut T,
7 | | }
8 | | }
- | |_^ lifetime `'__pin` already in scope
- |
- = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` (in Nightly builds, run with -Z macro-backtrace for more info)
+ | |_- first use of `'__pin`
-error[E0263]: lifetime name `'__pin` declared twice in the same scope
+error[E0403]: the name `'__pin` is already used for a generic parameter in this item's generic parameters
--> tests/ui/pin_project/overlapping_lifetime_names.rs:4:20
|
3 | / pin_project! { //~ ERROR E0263,E0496
4 | | pub struct Foo<'__pin, T> {
- | | ^^^^^^ declared twice
+ | | ^^^^^^ already used
5 | | #[pin]
6 | | field: &'__pin mut T,
7 | | }
8 | | }
- | |_- previous declaration here
+ | |_- first use of `'__pin`
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.stderr b/vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.stderr
index 303e7cbb5..fd7d64f16 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.stderr
@@ -1,11 +1,12 @@
error[E0277]: `PhantomPinned` cannot be unpinned
- --> tests/ui/pin_project/overlapping_unpin_struct.rs:19:5
+ --> tests/ui/pin_project/overlapping_unpin_struct.rs:19:16
|
19 | is_unpin::<Foo<PhantomPinned>>(); //~ ERROR E0277
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `_::__Origin<'_, PhantomPinned>`, the trait `Unpin` is not implemented for `PhantomPinned`
+ | ^^^^^^^^^^^^^^^^^^ within `_::__Origin<'_, PhantomPinned>`, the trait `Unpin` is not implemented for `PhantomPinned`
|
- = note: consider using `Box::pin`
-note: required because it appears within the type `_::__Origin<'_, PhantomPinned>`
+ = note: consider using the `pin!` macro
+ consider using `Box::pin` if you need to access the pinned value outside of the current scope
+note: required because it appears within the type `__Origin<'_, PhantomPinned>`
--> tests/ui/pin_project/overlapping_unpin_struct.rs:5:1
|
5 | / pin_project! {
@@ -15,7 +16,7 @@ note: required because it appears within the type `_::__Origin<'_, PhantomPinned
9 | | }
10 | | }
| |_^
-note: required because of the requirements on the impl of `Unpin` for `Foo<PhantomPinned>`
+note: required for `Foo<PhantomPinned>` to implement `Unpin`
--> tests/ui/pin_project/overlapping_unpin_struct.rs:5:1
|
5 | / pin_project! {
@@ -24,10 +25,10 @@ note: required because of the requirements on the impl of `Unpin` for `Foo<Phant
8 | | inner: T,
9 | | }
10 | | }
- | |_^
+ | |_^ unsatisfied trait bound introduced here
note: required by a bound in `is_unpin`
--> tests/ui/pin_project/overlapping_unpin_struct.rs:16:16
|
16 | fn is_unpin<T: Unpin>() {}
| ^^^^^ required by this bound in `is_unpin`
- = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/packed.rs b/vendor/pin-project-lite/tests/ui/pin_project/packed.rs
index 50afb118c..507a0385f 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/packed.rs
+++ b/vendor/pin-project-lite/tests/ui/pin_project/packed.rs
@@ -1,5 +1,3 @@
-#![allow(unaligned_references)]
-
use pin_project_lite::pin_project;
pin_project! { //~ ERROR reference to packed field is unaligned
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/packed.stderr b/vendor/pin-project-lite/tests/ui/pin_project/packed.stderr
index 81fb4f1fc..710ec08e4 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/packed.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/packed.stderr
@@ -1,57 +1,101 @@
-error: reference to packed field is unaligned
- --> tests/ui/pin_project/packed.rs:5:1
+error[E0793]: reference to packed field is unaligned
+ --> tests/ui/pin_project/packed.rs:3:1
+ |
+3 | / pin_project! { //~ ERROR reference to packed field is unaligned
+4 | | #[repr(packed, C)]
+5 | | struct Packed {
+6 | | #[pin]
+7 | | field: u16,
+8 | | }
+9 | | }
+ | |_^
+ |
+ = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+ = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+ = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
+ = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0793]: reference to packed field is unaligned
+ --> tests/ui/pin_project/packed.rs:3:1
+ |
+3 | / pin_project! { //~ ERROR reference to packed field is unaligned
+4 | | #[repr(packed, C)]
+5 | | struct Packed {
+6 | | #[pin]
+7 | | field: u16,
+8 | | }
+9 | | }
+ | |_^
+ |
+ = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+ = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+ = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
+ = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0793]: reference to packed field is unaligned
+ --> tests/ui/pin_project/packed.rs:3:1
+ |
+3 | / pin_project! { //~ ERROR reference to packed field is unaligned
+4 | | #[repr(packed, C)]
+5 | | struct Packed {
+6 | | #[pin]
+7 | | field: u16,
+8 | | }
+9 | | }
+ | |_^
+ |
+ = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+ = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+ = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
+ = note: this error originates in the macro `$crate::__pin_project_constant` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0793]: reference to packed field is unaligned
+ --> tests/ui/pin_project/packed.rs:11:1
|
-5 | / pin_project! { //~ ERROR reference to packed field is unaligned
-6 | | #[repr(packed, C)]
-7 | | struct Packed {
-8 | | #[pin]
-9 | | field: u16,
-10 | | }
-11 | | }
+11 | / pin_project! { //~ ERROR reference to packed field is unaligned
+12 | | #[repr(packed(2))]
+13 | | struct PackedN {
+14 | | #[pin]
+15 | | field: u32,
+16 | | }
+17 | | }
| |_^
|
-note: the lint level is defined here
- --> tests/ui/pin_project/packed.rs:5:1
- |
-5 | / pin_project! { //~ ERROR reference to packed field is unaligned
-6 | | #[repr(packed, C)]
-7 | | struct Packed {
-8 | | #[pin]
-9 | | field: u16,
-10 | | }
-11 | | }
- | |_^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+ = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+ = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
= help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
- = note: this error originates in the macro `$crate::__pin_project_constant` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
-error: reference to packed field is unaligned
- --> tests/ui/pin_project/packed.rs:13:1
+error[E0793]: reference to packed field is unaligned
+ --> tests/ui/pin_project/packed.rs:11:1
|
-13 | / pin_project! { //~ ERROR reference to packed field is unaligned
-14 | | #[repr(packed(2))]
-15 | | struct PackedN {
-16 | | #[pin]
-17 | | field: u32,
-18 | | }
-19 | | }
+11 | / pin_project! { //~ ERROR reference to packed field is unaligned
+12 | | #[repr(packed(2))]
+13 | | struct PackedN {
+14 | | #[pin]
+15 | | field: u32,
+16 | | }
+17 | | }
| |_^
|
-note: the lint level is defined here
- --> tests/ui/pin_project/packed.rs:13:1
+ = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+ = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+ = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
+ = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0793]: reference to packed field is unaligned
+ --> tests/ui/pin_project/packed.rs:11:1
|
-13 | / pin_project! { //~ ERROR reference to packed field is unaligned
-14 | | #[repr(packed(2))]
-15 | | struct PackedN {
-16 | | #[pin]
-17 | | field: u32,
-18 | | }
-19 | | }
+11 | / pin_project! { //~ ERROR reference to packed field is unaligned
+12 | | #[repr(packed(2))]
+13 | | struct PackedN {
+14 | | #[pin]
+15 | | field: u32,
+16 | | }
+17 | | }
| |_^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+ |
+ = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+ = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
= help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
- = note: this error originates in the macro `$crate::__pin_project_constant` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_constant` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.stderr b/vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.stderr
index 4eb6eff96..aadd1f973 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.stderr
@@ -3,9 +3,3 @@ error[E0412]: cannot find type `__Origin` in this scope
|
10 | impl Unpin for __Origin {} //~ ERROR E0412,E0321
| ^^^^^^^^ not found in this scope
-
-error[E0321]: cross-crate traits with a default impl, like `Unpin`, can only be implemented for a struct/enum type, not `[type error]`
- --> tests/ui/pin_project/unpin_sneaky.rs:10:1
- |
-10 | impl Unpin for __Origin {} //~ ERROR E0412,E0321
- | ^^^^^^^^^^^^^^^^^^^^^^^ can't implement cross-crate trait with a default impl for non-struct/enum type
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/unsupported.stderr b/vendor/pin-project-lite/tests/ui/pin_project/unsupported.stderr
index a7d215a43..f1d3b9c9d 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/unsupported.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/unsupported.stderr
@@ -6,7 +6,12 @@ error: no rules expected the token `}`
5 | | }
| |_^ no rules expected this token in macro call
|
- = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match meta-variable `$field_vis:vis`
+ --> src/lib.rs
+ |
+ | $field_vis:vis $field:ident: $field_ty:ty
+ | ^^^^^^^^^^^^^^
+ = note: this error originates in the macro `$crate::__pin_project_expand` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no rules expected the token `}`
--> tests/ui/pin_project/unsupported.rs:3:1
@@ -16,43 +21,60 @@ error: no rules expected the token `}`
5 | | }
| |_^ no rules expected this token in macro call
|
- = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match meta-variable `$field_vis:vis`
+ --> src/lib.rs
+ |
+ | $field_vis:vis $field:ident: $field_ty:ty
+ | ^^^^^^^^^^^^^^
+ = note: this error originates in the macro `$crate::__pin_project_expand` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no rules expected the token `(`
--> tests/ui/pin_project/unsupported.rs:8:19
|
8 | struct Struct2(); //~ ERROR no rules expected the token `(`
| ^ no rules expected this token in macro call
+ |
+note: while trying to match `{`
+ --> src/lib.rs
+ |
+ | {
+ | ^
error: no rules expected the token `;`
--> tests/ui/pin_project/unsupported.rs:12:19
|
12 | struct Struct3; //~ ERROR no rules expected the token `;`
| ^ no rules expected this token in macro call
+ |
+note: while trying to match `{`
+ --> src/lib.rs
+ |
+ | {
+ | ^
-error: no rules expected the token `enum`
- --> tests/ui/pin_project/unsupported.rs:15:1
+error: no rules expected the token `(`
+ --> tests/ui/pin_project/unsupported.rs:17:10
|
-15 | / pin_project! {
-16 | | enum Enum { //~ ERROR no rules expected the token `enum`
-17 | | A(u8)
-18 | | }
-19 | | }
- | |_^ no rules expected this token in macro call
+17 | A(u8)
+ | ^ no rules expected this token in macro call
+ |
+note: while trying to match `}`
+ --> src/lib.rs
|
- = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+ | }
+ | ^
-error: no rules expected the token `enum`
- --> tests/ui/pin_project/unsupported.rs:15:1
+error: no rules expected the token `(`
+ --> tests/ui/pin_project/unsupported.rs:17:10
|
-15 | / pin_project! {
-16 | | enum Enum { //~ ERROR no rules expected the token `enum`
-17 | | A(u8)
-18 | | }
-19 | | }
- | |_^ no rules expected this token in macro call
+17 | A(u8)
+ | ^ no rules expected this token in macro call
|
- = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match `}`
+ --> src/lib.rs
+ |
+ | }
+ | ^
error: no rules expected the token `union`
--> tests/ui/pin_project/unsupported.rs:21:1
@@ -64,7 +86,14 @@ error: no rules expected the token `union`
25 | | }
| |_^ no rules expected this token in macro call
|
- = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match `struct`
+ --> src/lib.rs
+ |
+ | [$(#[$attrs:meta])* $vis:vis struct $ident:ident]
+ | ^^^^^^
+ = note: captured metavariables except for `:tt`, `:ident` and `:lifetime` cannot be compared to other tokens
+ = note: see <https://doc.rust-lang.org/nightly/reference/macros-by-example.html#forwarding-a-matched-fragment> for more information
+ = note: this error originates in the macro `$crate::__pin_project_expand` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no rules expected the token `union`
--> tests/ui/pin_project/unsupported.rs:21:1
@@ -76,4 +105,11 @@ error: no rules expected the token `union`
25 | | }
| |_^ no rules expected this token in macro call
|
- = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match `struct`
+ --> src/lib.rs
+ |
+ | [$(#[$attrs:meta])* $vis:vis struct $ident:ident]
+ | ^^^^^^
+ = note: captured metavariables except for `:tt`, `:ident` and `:lifetime` cannot be compared to other tokens
+ = note: see <https://doc.rust-lang.org/nightly/reference/macros-by-example.html#forwarding-a-matched-fragment> for more information
+ = note: this error originates in the macro `$crate::__pin_project_expand` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.stderr b/vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.stderr
index 597f67c84..a6226216c 100644
--- a/vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.stderr
+++ b/vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.stderr
@@ -2,7 +2,10 @@ error[E0061]: this function takes 0 arguments but 1 argument was supplied
--> tests/ui/pinned_drop/call-drop-inner.rs:10:13
|
10 | __drop_inner(this);
- | ^^^^^^^^^^^^ ---- argument unexpected
+ | ^^^^^^^^^^^^ ----
+ | |
+ | unexpected argument of type `Pin<&mut S>`
+ | help: remove the extra argument
|
note: function defined here
--> tests/ui/pinned_drop/call-drop-inner.rs:3:1
@@ -15,8 +18,4 @@ note: function defined here
12 | | }
13 | | }
| |_^
- = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
-help: remove the extra argument
- |
-10 | __drop_inner();
- | ~~~~~~~~~~~~~~
+ = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.stderr b/vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.stderr
index d70009c97..fe0ee79d8 100644
--- a/vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.stderr
+++ b/vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.stderr
@@ -7,10 +7,8 @@ error[E0367]: `Drop` impl requires `T: Unpin` but the struct it is implemented f
note: the implementor must specify the same requirement
--> tests/ui/pinned_drop/conditional-drop-impl.rs:5:1
|
-5 | / struct DropImpl<T> {
-6 | | f: T,
-7 | | }
- | |_^
+5 | struct DropImpl<T> {
+ | ^^^^^^^^^^^^^^^^^^
error[E0367]: `Drop` impl requires `T: Unpin` but the struct it is implemented for does not
--> tests/ui/pinned_drop/conditional-drop-impl.rs:14:1
@@ -35,4 +33,4 @@ note: the implementor must specify the same requirement
23 | | }
24 | | }
| |_^
- = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+ = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)