gitextract_okzdp02o/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── 1_false_positive.md │ │ ├── 2_false_negative.md │ │ ├── 3_bug.md │ │ ├── 4_other.md │ │ └── config.yml │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .gitmodules ├── LICENSE ├── LICENSE-THIRD-PARTY ├── README.md ├── _benchmarks/ │ ├── bench.sh │ └── silent-staticcheck.sh ├── add-check.go ├── analysis/ │ ├── callcheck/ │ │ └── callcheck.go │ ├── code/ │ │ ├── code.go │ │ ├── code_test.go │ │ └── visit.go │ ├── dfa/ │ │ ├── dfa.el │ │ └── dfa.go │ ├── edit/ │ │ └── edit.go │ ├── facts/ │ │ ├── deprecated/ │ │ │ ├── deprecated.go │ │ │ ├── deprecated_test.go │ │ │ └── testdata/ │ │ │ └── src/ │ │ │ └── example.com/ │ │ │ └── Deprecated/ │ │ │ └── Deprecated.go │ │ ├── directives/ │ │ │ └── directives.go │ │ ├── generated/ │ │ │ └── generated.go │ │ ├── nilness/ │ │ │ ├── nilness.go │ │ │ ├── nilness_test.go │ │ │ └── testdata/ │ │ │ └── src/ │ │ │ └── example.com/ │ │ │ └── Nilness/ │ │ │ ├── Nilness.go │ │ │ ├── Nilness_go118.go │ │ │ └── Nilness_go17.go │ │ ├── purity/ │ │ │ ├── purity.go │ │ │ ├── purity_test.go │ │ │ └── testdata/ │ │ │ └── src/ │ │ │ └── example.com/ │ │ │ └── Purity/ │ │ │ └── CheckPureFunctions.go │ │ ├── tokenfile/ │ │ │ └── token.go │ │ └── typedness/ │ │ ├── testdata/ │ │ │ └── src/ │ │ │ └── example.com/ │ │ │ └── Typedness/ │ │ │ └── Typedness.go │ │ ├── typedness.go │ │ └── typedness_test.go │ ├── lint/ │ │ ├── lint.go │ │ └── testutil/ │ │ ├── check.go │ │ └── util.go │ └── report/ │ ├── report.go │ └── report_test.go ├── cmd/ │ ├── staticcheck/ │ │ ├── README.md │ │ └── staticcheck.go │ ├── structlayout/ │ │ ├── README.md │ │ └── main.go │ ├── structlayout-optimize/ │ │ └── main.go │ └── structlayout-pretty/ │ └── main.go ├── config/ │ ├── config.go │ └── example.conf ├── debug/ │ └── debug.go ├── dist/ │ └── build.sh ├── doc/ │ ├── articles/ │ │ └── customizing_staticcheck.html │ └── run.html ├── generate.go ├── go/ │ ├── ast/ │ │ └── astutil/ │ │ ├── upstream.go │ │ └── util.go │ ├── buildid/ │ │ ├── UPSTREAM │ │ ├── buildid.go │ │ └── note.go │ ├── gcsizes/ │ │ ├── LICENSE │ │ └── sizes.go │ ├── ir/ │ │ ├── LICENSE │ │ ├── UPSTREAM │ │ ├── bench_test.go │ │ ├── blockopt.go │ │ ├── builder.go │ │ ├── builder_test.go │ │ ├── const.go │ │ ├── create.go │ │ ├── doc.go │ │ ├── dom.go │ │ ├── emit.go │ │ ├── example_test.go │ │ ├── func.go │ │ ├── html.go │ │ ├── irutil/ │ │ │ ├── load.go │ │ │ ├── load_test.go │ │ │ ├── loops.go │ │ │ ├── stub.go │ │ │ ├── switch.go │ │ │ ├── switch_test.go │ │ │ ├── terminates.go │ │ │ ├── testdata/ │ │ │ │ └── switches.go │ │ │ ├── util.go │ │ │ └── visit.go │ │ ├── lift.go │ │ ├── lvalue.go │ │ ├── methods.go │ │ ├── mode.go │ │ ├── print.go │ │ ├── sanity.go │ │ ├── source.go │ │ ├── source_test.go │ │ ├── ssa.go │ │ ├── stdlib_test.go │ │ ├── testdata/ │ │ │ ├── objlookup.go │ │ │ └── valueforexpr.go │ │ ├── util.go │ │ ├── wrappers.go │ │ └── write.go │ ├── loader/ │ │ ├── hash.go │ │ └── loader.go │ └── types/ │ └── typeutil/ │ ├── ext.go │ ├── typeparams.go │ ├── typeparams_test.go │ ├── upstream.go │ └── util.go ├── go.mod ├── go.sum ├── internal/ │ ├── analysisinternal/ │ │ └── typeindex/ │ │ └── typeindex.go │ ├── cmd/ │ │ ├── ast-to-pattern/ │ │ │ ├── main.go │ │ │ └── parse.go │ │ ├── gogrep/ │ │ │ └── gogrep.go │ │ ├── irdump/ │ │ │ └── main.go │ │ └── unused/ │ │ └── unused.go │ ├── diff/ │ │ └── myers/ │ │ └── diff.go │ ├── passes/ │ │ └── buildir/ │ │ ├── buildir.go │ │ ├── buildir_test.go │ │ └── testdata/ │ │ └── src/ │ │ └── a/ │ │ └── a.go │ ├── renameio/ │ │ ├── UPSTREAM │ │ ├── renameio.go │ │ ├── renameio_test.go │ │ └── umask_test.go │ ├── robustio/ │ │ ├── UPSTREAM │ │ ├── robustio.go │ │ ├── robustio_darwin.go │ │ ├── robustio_flaky.go │ │ ├── robustio_other.go │ │ └── robustio_windows.go │ ├── sharedcheck/ │ │ └── lint.go │ ├── sync/ │ │ └── sync.go │ ├── testenv/ │ │ ├── UPSTREAM │ │ ├── testenv.go │ │ └── testenv_112.go │ └── typesinternal/ │ └── typeindex/ │ └── typeindex.go ├── knowledge/ │ ├── arg.go │ ├── deprecated.go │ ├── doc.go │ ├── signatures.go │ └── targets.go ├── lintcmd/ │ ├── cache/ │ │ ├── UPSTREAM │ │ ├── cache.go │ │ ├── cache_test.go │ │ ├── default.go │ │ ├── hash.go │ │ └── hash_test.go │ ├── cmd.go │ ├── cmd_test.go │ ├── config.go │ ├── config_test.go │ ├── directives.go │ ├── format.go │ ├── lint.go │ ├── runner/ │ │ ├── runner.go │ │ └── stats.go │ ├── sarif.go │ ├── stats.go │ ├── stats_bsd.go │ ├── stats_posix.go │ └── version/ │ ├── buildinfo.go │ └── version.go ├── pattern/ │ ├── convert.go │ ├── doc.go │ ├── lexer.go │ ├── match.go │ ├── parser.go │ ├── parser_test.go │ ├── pattern.go │ └── testdata/ │ └── fuzz/ │ └── FuzzParse/ │ ├── 0001cdcefc5f03f99c21d4ef8232d8f0d8510d9c48e8105c927bc70ac02034a9 │ ├── 00ec3673b415e2f6fc4a3f0d31413096921fbd1faa1cbabdd3637480af027a72 │ ├── 02f183192c9bcfbb22db5afa08e5a9a84babfca022726d0121f42c68d3feecee │ ├── 04fca5bfcc4a67c0d97de75fd6dc13a4a3e5c2dc68e5061f7bcb7e19852efe56 │ ├── 05eea82b6791ec62e197e6128c608c67f5393ff98e94a9c1ba1311e763778749 │ ├── 06b3cbf8b7806ca08ce1ca466e83488ca32abb5db6b0ca4b07c54aa7be47adf3 │ ├── 09c3a6a518c0e44fe60591523655ba4d7dcf62cb477f7e316a51e089adea74c2 │ ├── 0a21c29e926184ebb3c293c9cea3465ef5e1fc5c1b81be7d0770d5d69ee838a3 │ ├── 0ce7ffb3713ec9373531b2903b8f8751e280cdae2b625dcf35dc1fcd88c592bf │ ├── 170704499ec0c05bf39fb37f6c5604e13624c4fb531e41305b2439308e370f35 │ ├── 1a3c741fba42577fac3c5035a3d44e5a78bcefa11f9ccc3bb2919376d984e4a2 │ ├── 1eb6c2e8b8e0be47a019f0345b68ebfdba5f05804204e810166d1fe7c12e8556 │ ├── 27e5f99d63fed488c4e9c3ac4a1e364f809ad894cb109aacc9bd6a85c015fdb7 │ ├── 2bac99d4a450641e3ae239588965c64323b1ee9eb2351cc53019d430d3a59efa │ ├── 2c72a4a6b571446d5374dc5174fa44767bdcc8197e38c54738e50f8b58903230 │ ├── 2f1cdb43e9c62bdb5f8777bc2cb4eee3e8fe173c4361f54833c48d06833ec8fe │ ├── 312c49b9d41ad52e7beaa65ab01f5416e4f4d1db78b4e0001260ac888256b609 │ ├── 3148b044a5e00e508bfd9ac4d139e032503a590c36bd458a8291b77502d13561 │ ├── 31ac2ece486bde345a4ac42fb989efa8835e72e82e357d5d82a313d6ba03eca2 │ ├── 359bf5d248c22a3fc8d67de10279802663a767d4bf2d11dad3209bee13953ee0 │ ├── 3895395d667f576d7f3891a63e4cc0157b2ec73dbe55745c1cba65f31e8cc5db │ ├── 3a3ef35129ccc131fc582363751397ad5723fb8ae891c31eaa5ad86ba402a27e │ ├── 3d78313ab191ebe8647428cd6d896208cb6dcfdd19eb87ae388315548176445a │ ├── 3e0e018aca3103af7824d729c88c028b8e0d60d3de223c786f46acac3e910cdb │ ├── 3f66b015db9a62175f277eab5f76a62397c681b7e4ed6564f452e6159d4cb454 │ ├── 4115b01752356dd12fd6499da369daec6031f62d315aecc4afad56c97f61b904 │ ├── 465963a68302ca54f21c75fc3f680d6a5e1065682fb05a1350ed105883436a82 │ ├── 47857edd56b46ac9c16e788e9295d1dafb910c345899aafd618ddaa12793f4f9 │ ├── 4dec90e6083b5e195501df63d8e1ed6813b623bef60ad8d9e0a1df1f251a58f3 │ ├── 51390f40de42348adb99c613cd8367db404851ce3ea1a4e02ea316b5b7e915b7 │ ├── 53da8fdd88cd66de33bbdbbf564e2b14b69d02f32102d8a96171ed4b05dbc92e │ ├── 56a234ae7b32577f770d5b997f037de709344d7be6fd9ca6e1f44fc8c4367f5b │ ├── 5baab7b6c2c18988c27aefc55f5d48c6ac583f790fb6763cda34375f9b07da40 │ ├── 5cc91809f9225a218b9cfb3a31d5baed3c5a44b5da3a74184fa97abe3bbf178f │ ├── 5d9a745f26174c61e5ab0966e4821f75b71de80345be52d4b81aa1515158b735 │ ├── 5e8383a425cf9bc34f43d60f7586184ae7a544e3ad10405ef7aca57246c2ab66 │ ├── 60c36a14214281c0c2c31599563afec69016f469a0f25222a9500e307b159d11 │ ├── 614ea1474d223cb45716d531aa8afac2dfd52938aeb38c64b70a351f0cf509b2 │ ├── 6490b1471fef1f39 │ ├── 6a4d6ea339df8f59816483834329cc4310816de0223bd3607b2af6c91367a59b │ ├── 6aa9975401e9a24c46284ea6ea1740740fc58950a021c56e1376c2e108ee3b90 │ ├── 6ac1f5e27fbe6d979efae1abf9b2439a824b83f4b2a27508dbeb5dc95b4f9960 │ ├── 6fa1e1e283fd220866a9e5878510db574b761fbd5a0e863e66f40fd4acbbaf07 │ ├── 71e2fa0db72c309e630267beac45c90d37e4b8f9d2d2ed52100d1abca7b72965 │ ├── 76d91998f39bf2e25bd361453a73968274ffe16677cf02d872222d4c799552f8 │ ├── 78eaf491672242d08770ab22b67853f639c767f65346de39c6f3e677b1cd879d │ ├── 7ba6359207886a1c2c7bbe254835555e87a037ecd3af0301a11a43ec2287c487 │ ├── 7ec87621ab148929b69125a04edd13ff104007ca0d8dff12f281753ea93ffb80 │ ├── 8203d4ee0690ca0d0c4b907e1f1c8d6c1724c4771ec3a685b56b440f52b4282a │ ├── 8324b925e52410ab88b6265538881346436b67d95ad808b8f9220a84b0772ab7 │ ├── 84e67732ffe4ba2d8fdb8cfc8690804579623dbc9c56a378ca483f088348296a │ ├── 87839b3497143dd5ea14963b78c011edceb40d13fe1d8cd9b894a81b5dae2200 │ ├── 87f42498d6f57dc40c9972487f0e35d9820acbbce6cf61f3b90dabaa9cb8a8fc │ ├── 90a846c5b88ccf4fe765113a3580ecc90a5cf083a97f0bc4b3bb53a1f00e3fd8 │ ├── 9437b751fb0f1f07f5dcb8c8a10d0f3d4470a77b7ec77df6be872a109184bd1b │ ├── 94b7dc35d595dd794b4f65cd35f94ae8fe7c7214e6da8caa69f0b841e9a099af │ ├── 9d603847ed1c030c81f2289ee576971cd63564cc811afb5c18d5a51db7aefa76 │ ├── a3b8af4d027db37d44e58995ed2ab3cd9f2cb415669287e9e7ce7186534b4b1f │ ├── aa520290f4868dc3c01f15d2769941654a404b87327f5dde790c99fc2c63d875 │ ├── ac1b69c690b399207dd7fe32f03a12d2731fa2d1704f6b15cfdc7f772b0f3187 │ ├── ad86b3632aca0a27fef3d6d79de5c2bcf1c21f7a6caa1260aab964edc21f3f65 │ ├── af10598249def731ec19ebffa3cbc464892d0e445dbefab9ccf578eae136236a │ ├── afe5949d38d9171e39ad413d31abfab6bf45d066b700b4e84a232a6b3aa53085 │ ├── b44bceab2d84f09950aa80d8541c18e31a3d5dde6e874fd0bfe2e4ce54606db0 │ ├── b553c9e015253a9e3d4e202fdb2d90764151e24219f26f7510a433d30323666e │ ├── b6a22c4a4f5e0cf4a291f2d6f03860631075934e4069959665d1f8097c69d0d0 │ ├── b95053e6ea7644faad4e0f2e5f308ca66d6a05c47bf36d0fde268fc12e09ca63 │ ├── ba95d1477ea1b35a949c6b469077d908b1cbcaf7fbf3ce9ef544bfeb24f877fb │ ├── bb62ca358e19867f7d31400cb2a65aac1e918308212c43d10cca21feeb9c99d2 │ ├── c1a2c8141751527604100e865db8d0e711ce25fc5c291b7702752496ac4b2546 │ ├── c30ca6d4801d71144c641960df6919115149d2b6fae5f7d9b2bac2b8cd6b8d25 │ ├── c5f48734d853b82016955671d916daaf72da20a5f8335dddf7640fab1f5a3acb │ ├── c6d06d254dee12276b9b46ef9be863a1eefc4d0673946a706ec7a164625595f0 │ ├── c7abb7fc60634bb8d57b5b7c225a6accf0d2eb56c88bfe5e44cdd3e0c3e29666 │ ├── ca92b01f6dbdcb91e335219081aa48c16893c217bf6edc020fcb78b3ebabcd1f │ ├── e027a03ee012e289def51d770ead1e8a136b60989d3d1fb9388a394da2f595da │ ├── e1e59b9e6718f5089e98c955c391d38c7e243495ece9598826492ab734e5171f │ ├── e43aa6da655e6c326cfb1f8c9970b603411caf262af4a50980c5a5987ee696f3 │ ├── e48990bfca21324ab7a29098b9a4b40fbd22bd5adcfa316b4b8af460a232b638 │ ├── eb0ecf0066fdafbe218a736d3fc071a52408311637cc527db239f110418e8616 │ ├── ed6769b59df864327fba2b109f0cb965e5b8a6e5f1085e36f5635f1d65003a00 │ ├── f640eee2b04d1b52793ba88998a86702893e23d2563d017be9be90efc04a43c6 │ ├── f855d335a52bd8b6ed4472abb33c0eb8f67a63d84f1c27398c23689fb2720645 │ ├── fac160433f2d82b3c15a8c6ad3938fd85825a4f248108538938a57914e80f114 │ ├── fb2c5ef5801f44e5bee94b82dbb1bc787cc4b7fbdb17e5cfcc4283f2c726a99f │ ├── fe6c6578776a5ce92474e943ac14979a308d4151d779fd4cfd782f7fb970165e │ └── ff2017b5c630d7225812cfa8b29b6ebad665505492db847722ba79da5d2c89eb ├── printf/ │ ├── fuzz.go │ ├── printf.go │ └── printf_test.go ├── quickfix/ │ ├── analysis.go │ ├── doc.go │ ├── qf1001/ │ │ ├── qf1001.go │ │ ├── qf1001_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckDeMorgan/ │ │ ├── CheckDeMorgan.go │ │ ├── CheckDeMorgan.go.golden │ │ ├── kvexpr.go │ │ └── kvexpr.go.golden │ ├── qf1002/ │ │ ├── qf1002.go │ │ ├── qf1002_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckTaglessSwitch/ │ │ ├── CheckTaglessSwitch.go │ │ └── CheckTaglessSwitch.go.golden │ ├── qf1003/ │ │ ├── qf1003.go │ │ ├── qf1003_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckIfElseToSwitch/ │ │ ├── CheckIfElseToSwitch.go │ │ └── CheckIfElseToSwitch.go.golden │ ├── qf1004/ │ │ ├── qf1004.go │ │ ├── qf1004_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckStringsReplaceAll/ │ │ ├── CheckStringsReplaceAll.go │ │ └── CheckStringsReplaceAll.go.golden │ ├── qf1005/ │ │ ├── qf1005.go │ │ ├── qf1005_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckMathPow/ │ │ ├── CheckMathPow.go │ │ └── CheckMathPow.go.golden │ ├── qf1006/ │ │ ├── qf1006.go │ │ ├── qf1006_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckForLoopIfBreak/ │ │ ├── CheckForLoopIfBreak.go │ │ └── CheckForLoopIfBreak.go.golden │ ├── qf1007/ │ │ ├── qf1007.go │ │ ├── qf1007_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckConditionalAssignment/ │ │ ├── CheckConditionalAssignment.go │ │ └── CheckConditionalAssignment.go.golden │ ├── qf1008/ │ │ ├── qf1008.go │ │ ├── qf1008_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ ├── CheckExplicitEmbeddedSelector/ │ │ │ ├── CheckExplicitEmbeddedSelector-anon.go │ │ │ ├── CheckExplicitEmbeddedSelector-anon.go.golden │ │ │ ├── CheckExplicitEmbeddedSelector-basic.go │ │ │ ├── CheckExplicitEmbeddedSelector-basic.go.golden │ │ │ ├── CheckExplicitEmbeddedSelector-call.go │ │ │ ├── CheckExplicitEmbeddedSelector-call.go.golden │ │ │ ├── CheckExplicitEmbeddedSelector-depth.go │ │ │ ├── CheckExplicitEmbeddedSelector-depth.go.golden │ │ │ ├── CheckExplicitEmbeddedSelector-multi.go │ │ │ ├── CheckExplicitEmbeddedSelector-multi.go.golden │ │ │ ├── CheckExplicitEmbeddedSelector-multi2.go │ │ │ ├── CheckExplicitEmbeddedSelector-multi2.go.golden │ │ │ ├── CheckExplicitEmbeddedSelector-partial-multi.go │ │ │ ├── CheckExplicitEmbeddedSelector-partial-multi.go.golden │ │ │ ├── CheckExplicitEmbeddedSelector-qualified.go │ │ │ ├── CheckExplicitEmbeddedSelector-qualified.go.golden │ │ │ ├── CheckExplicitEmbeddedSelector-recursive.go │ │ │ ├── CheckExplicitEmbeddedSelector-recursive.go.golden │ │ │ ├── CheckExplicitEmbeddedSelector-shadowing.go │ │ │ ├── CheckExplicitEmbeddedSelector-unexported.go │ │ │ └── CheckExplicitEmbeddedSelector-unexported.go.golden │ │ └── CheckExplicitEmbeddedSelectorassist/ │ │ └── assist.go │ ├── qf1009/ │ │ ├── qf1009.go │ │ ├── qf1009_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckTimeEquality/ │ │ ├── CheckTimeEquality.go │ │ └── CheckTimeEquality.go.golden │ ├── qf1010/ │ │ ├── qf1010.go │ │ ├── qf1010_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckByteSlicePrinting/ │ │ │ ├── CheckByteSlicePrinting.go │ │ │ └── CheckByteSlicePrinting.go.golden │ │ └── go1.9/ │ │ └── CheckByteSlicePrinting/ │ │ ├── CheckByteSlicePrinting.go │ │ └── CheckByteSlicePrinting.go.golden │ ├── qf1011/ │ │ ├── qf1011.go │ │ ├── qf1011_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckRedundantTypeInDeclaration/ │ │ │ ├── CheckRedundantTypeInDeclaration.go │ │ │ └── CheckRedundantTypeInDeclaration.go.golden │ │ └── go1.9/ │ │ └── CheckRedundantTypeInDeclaration/ │ │ ├── README │ │ ├── cgo.go │ │ └── cgo.golden │ └── qf1012/ │ ├── qf1012.go │ ├── qf1012_test.go │ └── testdata/ │ └── go1.0/ │ └── CheckWriteBytesSprintf/ │ ├── CheckWriteBytesSprintf.go │ └── CheckWriteBytesSprintf.go.golden ├── sarif/ │ └── sarif.go ├── simple/ │ ├── analysis.go │ ├── doc.go │ ├── s1000/ │ │ ├── s1000.go │ │ ├── s1000_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckSingleCaseSelect/ │ │ └── single-case-select.go │ ├── s1001/ │ │ ├── s1001.go │ │ ├── s1001_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckLoopCopy/ │ │ │ ├── copy.go │ │ │ └── copy.go.golden │ │ └── go1.18/ │ │ └── CheckLoopCopy/ │ │ ├── copy_generics.go │ │ └── copy_generics.go.golden │ ├── s1002/ │ │ ├── s1002.go │ │ ├── s1002_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckIfBoolCmp/ │ │ │ ├── bool-cmp.go │ │ │ ├── bool-cmp.go.golden │ │ │ └── bool-cmp_test.go │ │ └── go1.18/ │ │ └── CheckIfBoolCmp/ │ │ ├── bool-cmp_generics.go │ │ └── bool-cmp_generics.go.golden │ ├── s1003/ │ │ ├── s1003.go │ │ ├── s1003_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckStringsContains/ │ │ ├── contains.go │ │ └── contains.go.golden │ ├── s1004/ │ │ ├── s1004.go │ │ ├── s1004_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckBytesCompare/ │ │ ├── compare.go │ │ └── compare.go.golden │ ├── s1005/ │ │ ├── s1005.go │ │ ├── s1005_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckUnnecessaryBlank/ │ │ │ ├── LintBlankOK.go │ │ │ ├── LintBlankOK.go.golden │ │ │ ├── receive-blank.go │ │ │ └── receive-blank.go.golden │ │ ├── go1.3/ │ │ │ └── CheckUnnecessaryBlank/ │ │ │ └── range.go │ │ └── go1.4/ │ │ └── CheckUnnecessaryBlank/ │ │ ├── range.go │ │ └── range.go.golden │ ├── s1006/ │ │ ├── s1006.go │ │ ├── s1006_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckForTrue/ │ │ ├── for-true.go │ │ ├── generated.go │ │ └── input.go │ ├── s1007/ │ │ ├── s1007.go │ │ ├── s1007_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckRegexpRaw/ │ │ └── regexp-raw.go │ ├── s1008/ │ │ ├── s1008.go │ │ ├── s1008_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckIfReturn/ │ │ ├── comment.go │ │ └── if-return.go │ ├── s1009/ │ │ ├── s1009.go │ │ ├── s1009_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckRedundantNilCheckWithLen/ │ │ │ └── nil-len.go │ │ └── go1.18/ │ │ └── CheckRedundantNilCheckWithLen/ │ │ └── nil-len_generics.go │ ├── s1010/ │ │ ├── s1010.go │ │ ├── s1010_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckSlicing/ │ │ ├── slicing.go │ │ └── slicing.go.golden │ ├── s1011/ │ │ ├── s1011.go │ │ ├── s1011_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckLoopAppend/ │ │ ├── loop-append.go │ │ └── loop-append.go.golden │ ├── s1012/ │ │ ├── s1012.go │ │ ├── s1012_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckTimeSince/ │ │ ├── time-since.go │ │ └── time-since.go.golden │ ├── s1016/ │ │ ├── s1016.go │ │ ├── s1016_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckSimplerStructConversion/ │ │ │ ├── convert.go │ │ │ └── convert.go.golden │ │ ├── go1.18/ │ │ │ └── CheckSimplerStructConversion/ │ │ │ ├── convert_generics.go │ │ │ └── convert_generics.go.golden │ │ ├── go1.7/ │ │ │ └── CheckSimplerStructConversion/ │ │ │ ├── convert.go │ │ │ └── convert.go.golden │ │ ├── go1.8/ │ │ │ └── CheckSimplerStructConversion/ │ │ │ ├── convert.go │ │ │ └── convert.go.golden │ │ └── go1.9/ │ │ └── CheckSimplerStructConversion/ │ │ ├── convert_alias.go │ │ └── convert_alias.go.golden │ ├── s1017/ │ │ ├── s1017.go │ │ ├── s1017_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckTrim/ │ │ └── trim.go │ ├── s1018/ │ │ ├── s1018.go │ │ ├── s1018_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckLoopSlide/ │ │ │ ├── LintLoopSlide.go │ │ │ └── LintLoopSlide.go.golden │ │ └── go1.18/ │ │ └── CheckLoopSlide/ │ │ ├── generics.go │ │ └── generics.go.golden │ ├── s1019/ │ │ ├── s1019.go │ │ ├── s1019_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckMakeLenCap/ │ │ │ └── LintMakeLenCap.go │ │ └── go1.18/ │ │ └── CheckMakeLenCap/ │ │ └── CheckMakeLenCap.go │ ├── s1020/ │ │ ├── s1020.go │ │ ├── s1020_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckAssertNotNil/ │ │ └── LintAssertNotNil.go │ ├── s1021/ │ │ ├── s1021.go │ │ ├── s1021_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckDeclareAssign/ │ │ ├── LintDeclareAssign.go │ │ └── LintDeclareAssign.go.golden │ ├── s1023/ │ │ ├── s1023.go │ │ ├── s1023_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ ├── CheckRedundantBreak/ │ │ │ └── LintRedundantBreak.go │ │ └── CheckRedundantReturn/ │ │ └── LintRedundantReturn.go │ ├── s1024/ │ │ ├── s1024.go │ │ ├── s1024_test.go │ │ └── testdata/ │ │ ├── go1.7/ │ │ │ └── CheckTimeUntil/ │ │ │ └── LimeTimeUntil.go │ │ └── go1.8/ │ │ └── CheckTimeUntil/ │ │ ├── LimeTimeUntil.go │ │ └── LimeTimeUntil.go.golden │ ├── s1025/ │ │ ├── s1025.go │ │ ├── s1025_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckRedundantSprintf/ │ │ │ ├── LintRedundantSprintf.go │ │ │ └── LintRedundantSprintf.go.golden │ │ ├── go1.17/ │ │ │ └── CheckRedundantSprintf/ │ │ │ ├── LintRedundantSprintf.go │ │ │ └── LintRedundantSprintf.go.golden │ │ ├── go1.18/ │ │ │ └── CheckRedundantSprintf/ │ │ │ ├── LintRedundantSprintf.go │ │ │ └── LintRedundantSprintf.go.golden │ │ └── go1.9/ │ │ └── CheckRedundantSprintf/ │ │ ├── LintRedundantSprintf.go │ │ └── LintRedundantSprintf.go.golden │ ├── s1028/ │ │ ├── s1028.go │ │ ├── s1028_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckErrorsNewSprintf/ │ │ ├── LintErrorsNewSprintf.go │ │ └── LintErrorsNewSprintf.go.golden │ ├── s1029/ │ │ ├── s1029.go │ │ ├── s1029_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckRangeStringRunes/ │ │ │ └── LintRangeStringRunes.go │ │ └── go1.18/ │ │ └── CheckRangeStringRunes/ │ │ └── generics.go │ ├── s1030/ │ │ ├── s1030.go │ │ ├── s1030_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckBytesBufferConversions/ │ │ │ ├── LintBytesBufferConversions.go │ │ │ └── LintBytesBufferConversions.go.golden │ │ └── go1.9/ │ │ └── CheckBytesBufferConversions/ │ │ ├── LintBytesBufferConversions.go │ │ └── LintBytesBufferConversions.go.golden │ ├── s1031/ │ │ ├── s1031.go │ │ ├── s1031_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckNilCheckAroundRange/ │ │ │ └── LintNilCheckAroundRange.go │ │ └── go1.18/ │ │ └── CheckNilCheckAroundRange/ │ │ └── CheckNilCheckAroundRange.go │ ├── s1032/ │ │ ├── s1032.go │ │ ├── s1032_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckSortHelpers/ │ │ └── LintSortHelpers.go │ ├── s1033/ │ │ ├── s1033.go │ │ ├── s1033_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckGuardedDelete/ │ │ ├── LintGuardedDelete.go │ │ └── LintGuardedDelete.go.golden │ ├── s1034/ │ │ ├── s1034.go │ │ ├── s1034_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckSimplifyTypeSwitch/ │ │ ├── LintSimplifyTypeSwitch.go │ │ └── LintSimplifyTypeSwitch.go.golden │ ├── s1035/ │ │ ├── s1035.go │ │ ├── s1035_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckRedundantCanonicalHeaderKey/ │ │ ├── LintRedundantCanonicalHeaderKey.go │ │ └── LintRedundantCanonicalHeaderKey.go.golden │ ├── s1036/ │ │ ├── s1036.go │ │ ├── s1036_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckUnnecessaryGuard/ │ │ ├── LintUnnecessaryGuard.go │ │ └── LintUnnecessaryGuard.go.golden │ ├── s1037/ │ │ ├── s1037.go │ │ ├── s1037_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckElaborateSleep/ │ │ ├── LintElaborateSleep.go │ │ └── LintElaborateSleep.go.golden │ ├── s1038/ │ │ ├── s1038.go │ │ ├── s1038_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckPrintSprintf/ │ │ └── CheckPrintSprintf.go │ ├── s1039/ │ │ ├── s1039.go │ │ ├── s1039_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckSprintLiteral/ │ │ ├── CheckSprintLiteral.go │ │ └── CheckSprintLiteral.go.golden │ └── s1040/ │ ├── s1040.go │ ├── s1040_test.go │ └── testdata/ │ └── go1.0/ │ └── CheckSameTypeTypeAssertion/ │ └── CheckSameTypeTypeAssertion.go ├── staticcheck/ │ ├── analysis.go │ ├── doc.go │ ├── fakejson/ │ │ └── encode.go │ ├── fakereflect/ │ │ └── fakereflect.go │ ├── fakexml/ │ │ ├── marshal.go │ │ ├── typeinfo.go │ │ └── xml.go │ ├── sa1000/ │ │ ├── sa1000.go │ │ ├── sa1000_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckRegexps/ │ │ └── CheckRegexps.go │ ├── sa1001/ │ │ ├── sa1001.go │ │ ├── sa1001_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckTemplate/ │ │ └── CheckTemplate.go │ ├── sa1002/ │ │ ├── sa1002.go │ │ ├── sa1002_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckTimeParse/ │ │ └── CheckTimeParse.go │ ├── sa1003/ │ │ ├── sa1003.go │ │ ├── sa1003_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckEncodingBinary/ │ │ │ └── CheckEncodingBinary.go │ │ ├── go1.7/ │ │ │ └── CheckEncodingBinary/ │ │ │ └── CheckEncodingBinary.go │ │ └── go1.8/ │ │ └── CheckEncodingBinary/ │ │ └── CheckEncodingBinary.go │ ├── sa1004/ │ │ ├── sa1004.go │ │ ├── sa1004_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckTimeSleepConstant/ │ │ ├── CheckTimeSleepConstant.go │ │ └── CheckTimeSleepConstant.go.golden │ ├── sa1005/ │ │ ├── sa1005.go │ │ ├── sa1005_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckExec/ │ │ └── CheckExec.go │ ├── sa1006/ │ │ ├── sa1006.go │ │ ├── sa1006_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckUnsafePrintf/ │ │ ├── CheckUnsafePrintf.go │ │ └── CheckUnsafePrintf.go.golden │ ├── sa1007/ │ │ ├── sa1007.go │ │ ├── sa1007_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckURLs/ │ │ └── CheckURLs.go │ ├── sa1008/ │ │ ├── sa1008.go │ │ ├── sa1008_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckCanonicalHeaderKey/ │ │ ├── CheckCanonicalHeaderKey.go │ │ └── CheckCanonicalHeaderKey.go.golden │ ├── sa1010/ │ │ ├── sa1010.go │ │ ├── sa1010_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── checkStdlibUsageRegexpFindAll/ │ │ └── checkStdlibUsageRegexpFindAll.go │ ├── sa1011/ │ │ ├── sa1011.go │ │ ├── sa1011_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── checkStdlibUsageUTF8Cutset/ │ │ └── checkStdlibUsageUTF8Cutset.go │ ├── sa1012/ │ │ ├── sa1012.go │ │ ├── sa1012_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── checkStdlibUsageNilContext/ │ │ │ ├── checkStdlibUsageNilContext.go │ │ │ └── checkStdlibUsageNilContext.go.golden │ │ └── go1.18/ │ │ └── checkStdlibUsageNilContext/ │ │ ├── checkStdlibUsageNilContext_generics.go │ │ └── checkStdlibUsageNilContext_generics.go.golden │ ├── sa1013/ │ │ ├── sa1013.go │ │ ├── sa1013_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── checkStdlibUsageSeeker/ │ │ ├── checkStdlibUsageSeeker.go │ │ └── checkStdlibUsageSeeker.go.golden │ ├── sa1014/ │ │ ├── sa1014.go │ │ ├── sa1014_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckUnmarshalPointer/ │ │ └── CheckUnmarshalPointer.go │ ├── sa1015/ │ │ ├── sa1015.go │ │ ├── sa1015_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ ├── CheckLeakyTimeTick/ │ │ │ │ └── CheckLeakyTimeTick.go │ │ │ └── CheckLeakyTimeTick-main/ │ │ │ └── CheckLeakyTimeTick-main.go │ │ └── go1.23/ │ │ └── CheckLeakyTimeTick/ │ │ └── CheckLeakyTimeTick.go │ ├── sa1016/ │ │ ├── sa1016.go │ │ ├── sa1016_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckUntrappableSignal/ │ │ ├── CheckUntrappableSignal.go │ │ ├── CheckUntrappableSignal.go.golden │ │ ├── CheckUntrappableSignal_unix.go │ │ └── CheckUntrappableSignal_unix.go.golden │ ├── sa1017/ │ │ ├── sa1017.go │ │ ├── sa1017_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckUnbufferedSignalChan/ │ │ └── CheckUnbufferedSignalChan.go │ ├── sa1018/ │ │ ├── sa1018.go │ │ ├── sa1018_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckStringsReplaceZero/ │ │ └── CheckStringsReplaceZero.go │ ├── sa1019/ │ │ ├── sa1019.go │ │ ├── sa1019_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ ├── AnotherCheckDeprecated.assist/ │ │ │ │ └── CheckDeprecatedassist.go │ │ │ ├── CheckDeprecated/ │ │ │ │ ├── CheckDeprecated.go │ │ │ │ ├── CheckDeprecated_test.go │ │ │ │ ├── external_test.go │ │ │ │ ├── not-protobuf.go │ │ │ │ └── protobuf.go │ │ │ ├── CheckDeprecated.assist/ │ │ │ │ └── CheckDeprecatedassist.go │ │ │ ├── CheckDeprecated.assist_external/ │ │ │ │ └── CheckDeprecatedassist_external.go │ │ │ └── vendor/ │ │ │ └── github.com/ │ │ │ └── golang/ │ │ │ └── protobuf/ │ │ │ └── proto/ │ │ │ └── pkg.go │ │ ├── go1.18/ │ │ │ ├── CheckDeprecated/ │ │ │ │ └── CheckDeprecated_generics.go │ │ │ └── CheckDeprecated.assist/ │ │ │ └── CheckDeprecatedassist_generics.go │ │ ├── go1.19/ │ │ │ └── CheckDeprecated/ │ │ │ ├── CheckDeprecated.go │ │ │ └── stub.go │ │ ├── go1.3/ │ │ │ └── CheckDeprecated/ │ │ │ └── CheckDeprecated.go │ │ ├── go1.4/ │ │ │ └── CheckDeprecated/ │ │ │ └── CheckDeprecated.go │ │ └── go1.8/ │ │ └── CheckDeprecated/ │ │ └── CheckDeprecated.go │ ├── sa1020/ │ │ ├── sa1020.go │ │ ├── sa1020_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckListenAddress/ │ │ └── CheckListenAddress.go │ ├── sa1021/ │ │ ├── sa1021.go │ │ ├── sa1021_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckBytesEqualIP/ │ │ └── CheckBytesEqualIP.go │ ├── sa1023/ │ │ ├── sa1023.go │ │ ├── sa1023_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckWriterBufferModified/ │ │ │ └── CheckWriterBufferModified.go │ │ └── go1.9/ │ │ └── CheckWriterBufferModified/ │ │ └── CheckWriterBufferModified.go │ ├── sa1024/ │ │ ├── sa1024.go │ │ ├── sa1024_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckNonUniqueCutset/ │ │ └── CheckNonUniqueCutset.go │ ├── sa1025/ │ │ ├── sa1025.go │ │ ├── sa1025_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckTimerResetReturnValue/ │ │ └── CheckTimerResetReturnValue.go │ ├── sa1026/ │ │ ├── sa1026.go │ │ ├── sa1026_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckUnsupportedMarshal/ │ │ │ └── CheckUnsupportedMarshal.go │ │ └── go1.18/ │ │ └── CheckUnsupportedMarshal/ │ │ └── generics.go │ ├── sa1027/ │ │ ├── sa1027.go │ │ ├── sa1027_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckAtomicAlignment/ │ │ ├── atomic32.go │ │ └── atomic64.go │ ├── sa1028/ │ │ ├── sa1028.go │ │ ├── sa1028_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckSortSlice/ │ │ └── slice.go │ ├── sa1029/ │ │ ├── sa1029.go │ │ ├── sa1029_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckWithValueKey/ │ │ └── CheckWithValueKey.go │ ├── sa1030/ │ │ ├── sa1030.go │ │ ├── sa1030_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckStrconv/ │ │ │ └── CheckStrconv.go │ │ └── go1.15/ │ │ └── CheckStrconv/ │ │ ├── CheckStrconv.go │ │ └── stub.go │ ├── sa1031/ │ │ ├── sa1031.go │ │ ├── sa1031_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ ├── CheckEncodingAscii85/ │ │ │ └── CheckEncodingAscii85.go │ │ ├── CheckEncodingBase32/ │ │ │ └── CheckEncodingBase32.go │ │ ├── CheckEncodingBase64/ │ │ │ └── CheckEncodingBase64.go │ │ └── CheckEncodingHex/ │ │ └── CheckEncodingHex.go │ ├── sa1032/ │ │ ├── sa1032.go │ │ ├── sa1032_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── example.com/ │ │ └── ErrorsOrder/ │ │ └── ErrorsOrder.go │ ├── sa2000/ │ │ ├── sa2000.go │ │ ├── sa2000_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckWaitgroupAdd/ │ │ └── CheckWaitgroupAdd.go │ ├── sa2001/ │ │ ├── sa2001.go │ │ ├── sa2001_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckEmptyCriticalSection/ │ │ └── CheckEmptyCriticalSection.go │ ├── sa2002/ │ │ ├── sa2002.go │ │ ├── sa2002_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckConcurrentTesting/ │ │ └── CheckConcurrentTesting.go │ ├── sa2003/ │ │ ├── sa2003.go │ │ ├── sa2003_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckDeferLock/ │ │ └── CheckDeferLock.go │ ├── sa3000/ │ │ ├── sa3000.go │ │ ├── sa3000_test.go │ │ └── testdata/ │ │ ├── go1.15/ │ │ │ └── CheckTestMainExit-1/ │ │ │ └── CheckTestMainExit-1.go │ │ └── go1.4/ │ │ ├── CheckTestMainExit-1/ │ │ │ └── CheckTestMainExit-1.go │ │ ├── CheckTestMainExit-2/ │ │ │ └── CheckTestMainExit-2.go │ │ ├── CheckTestMainExit-3/ │ │ │ └── CheckTestMainExit-3.go │ │ ├── CheckTestMainExit-4/ │ │ │ └── CheckTestMainExit-4.go │ │ └── CheckTestMainExit-5/ │ │ └── CheckTestMainExit-5.go │ ├── sa3001/ │ │ ├── sa3001.go │ │ ├── sa3001_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckBenchmarkN/ │ │ └── CheckBenchmarkN.go │ ├── sa4000/ │ │ ├── sa4000.go │ │ ├── sa4000_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckLhsRhsIdentical/ │ │ │ ├── CheckLhsRhsIdentical.go │ │ │ └── cgo.go │ │ ├── go1.18/ │ │ │ └── CheckLhsRhsIdentical/ │ │ │ └── generics.go │ │ └── go1.22/ │ │ └── CheckLhsRhsIdentical/ │ │ └── randv2.go │ ├── sa4001/ │ │ ├── sa4001.go │ │ ├── sa4001_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckIneffectiveCopy/ │ │ └── CheckIneffectiveCopy.go │ ├── sa4003/ │ │ ├── sa4003.go │ │ ├── sa4003_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckExtremeComparison/ │ │ ├── CheckExtremeComparison.go │ │ └── CheckExtremeComparison64.go │ ├── sa4004/ │ │ ├── sa4004.go │ │ ├── sa4004_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckIneffectiveLoop/ │ │ │ └── CheckIneffectiveLoop.go │ │ └── go1.18/ │ │ └── CheckIneffectiveLoop/ │ │ └── CheckIneffectiveLoop_generics.go │ ├── sa4005/ │ │ ├── sa4005.go │ │ ├── sa4005_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckIneffectiveFieldAssignments/ │ │ ├── CheckIneffectiveFieldAssignments.go │ │ └── issue141.go │ ├── sa4006/ │ │ ├── sa4006.go │ │ ├── sa4006_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckUnreadVariableValues/ │ │ ├── CheckUnreadVariableValues.go │ │ └── CheckUnreadVariableValues_test.go │ ├── sa4008/ │ │ ├── sa4008.go │ │ ├── sa4008_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckLoopCondition/ │ │ └── CheckLoopCondition.go │ ├── sa4009/ │ │ ├── sa4009.go │ │ ├── sa4009_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckArgOverwritten/ │ │ └── CheckArgOverwritten.go │ ├── sa4010/ │ │ ├── sa4010.go │ │ ├── sa4010_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckIneffectiveAppend/ │ │ └── CheckIneffectiveAppend.go │ ├── sa4011/ │ │ ├── sa4011.go │ │ ├── sa4011_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckScopedBreak/ │ │ └── CheckScopedBreak.go │ ├── sa4012/ │ │ ├── sa4012.go │ │ ├── sa4012_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckNaNComparison/ │ │ └── CheckNaNComparison.go │ ├── sa4013/ │ │ ├── sa4013.go │ │ ├── sa4013_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckDoubleNegation/ │ │ ├── CheckDoubleNegation.go │ │ └── CheckDoubleNegation.go.golden │ ├── sa4014/ │ │ ├── sa4014.go │ │ ├── sa4014_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckRepeatedIfElse/ │ │ └── CheckRepeatedIfElse.go │ ├── sa4015/ │ │ ├── sa4015.go │ │ ├── sa4015_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckMathInt/ │ │ │ └── CheckMathInt.go │ │ └── go1.18/ │ │ └── CheckMathInt/ │ │ └── CheckMathInt.go │ ├── sa4016/ │ │ ├── sa4016.go │ │ ├── sa4016_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ ├── CheckSillyBitwiseOps/ │ │ │ │ └── CheckSillyBitwiseOps.go │ │ │ ├── CheckSillyBitwiseOps_dotImport/ │ │ │ │ ├── foo.go │ │ │ │ └── foo_test.go │ │ │ └── CheckSillyBitwiseOps_shadowedIota/ │ │ │ └── shadowed.go │ │ └── go1.18/ │ │ └── CheckSillyBitwiseOps/ │ │ └── generics.go │ ├── sa4017/ │ │ ├── sa4017.go │ │ ├── sa4017_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckSideEffectFreeCalls/ │ │ ├── CheckSideEffectFreeCalls.go │ │ └── CheckSideEffectFreeCalls_test.go │ ├── sa4018/ │ │ ├── sa4018.go │ │ ├── sa4018_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckSelfAssignment/ │ │ └── CheckSelfAssignment.go │ ├── sa4019/ │ │ ├── sa4019.go │ │ ├── sa4019_test.go │ │ └── testdata/ │ │ └── go1.1/ │ │ └── CheckDuplicateBuildConstraints/ │ │ └── CheckDuplicateBuildConstraints.go │ ├── sa4020/ │ │ ├── sa4020.go │ │ ├── sa4020_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckUnreachableTypeCases/ │ │ │ └── CheckUnreachableTypeCases.go │ │ └── go1.18/ │ │ └── CheckUnreachableTypeCases/ │ │ └── typeparams.go │ ├── sa4021/ │ │ ├── sa4021.go │ │ ├── sa4021_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckSingleArgAppend/ │ │ └── CheckSingleArgAppend.go │ ├── sa4022/ │ │ ├── sa4022.go │ │ ├── sa4022_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckAddressIsNil/ │ │ └── CheckAddressIsNil.go │ ├── sa4023/ │ │ ├── sa4023.go │ │ ├── sa4023_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ ├── CheckTypedNilInterface/ │ │ │ │ ├── CheckTypedNilInterface.go │ │ │ │ └── real.go │ │ │ ├── i26000/ │ │ │ │ └── 26000.go │ │ │ ├── i27815/ │ │ │ │ └── 27815.go │ │ │ ├── i28241/ │ │ │ │ └── 28241.go │ │ │ ├── i31873/ │ │ │ │ └── 31873.go │ │ │ ├── i33965/ │ │ │ │ └── 33965.go │ │ │ ├── i33994/ │ │ │ │ └── 33994.go │ │ │ └── i35217/ │ │ │ └── 35217.go │ │ ├── go1.18/ │ │ │ └── CheckTypedNilInterface/ │ │ │ └── generics.go │ │ └── go1.9/ │ │ └── CheckTypedNilInterface/ │ │ └── CheckTypedNilInterface.go │ ├── sa4024/ │ │ ├── sa4024.go │ │ ├── sa4024_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckBuiltinZeroComparison/ │ │ └── CheckBuiltinZeroComparison.go │ ├── sa4025/ │ │ ├── sa4025.go │ │ ├── sa4025_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckIntegerDivisionEqualsZero/ │ │ └── CheckIntegerDivisionEqualsZero.go │ ├── sa4026/ │ │ ├── sa4026.go │ │ ├── sa4026_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckNegativeZeroFloat/ │ │ ├── CheckNegativeZeroFloat.go │ │ └── CheckNegativeZeroFloat.go.golden │ ├── sa4027/ │ │ ├── sa4027.go │ │ ├── sa4027_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckIneffectiveURLQueryModification/ │ │ └── CheckIneffectiveURLQueryModification.go │ ├── sa4028/ │ │ ├── sa4028.go │ │ ├── sa4028_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckModuloOne/ │ │ └── CheckModuloOne.go │ ├── sa4029/ │ │ ├── sa4029.go │ │ ├── sa4029_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckIneffectiveSort/ │ │ │ ├── CheckIneffectiveSort.go │ │ │ └── CheckIneffectiveSort.go.golden │ │ └── go1.9/ │ │ └── CheckIneffectiveSort/ │ │ ├── CheckIneffectiveSort.go │ │ └── CheckIneffectiveSort.go.golden │ ├── sa4030/ │ │ ├── sa4030.go │ │ ├── sa4030_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckIneffectiveRandInt/ │ │ │ └── CheckIneffectiveRandInt.go │ │ └── go1.22/ │ │ └── CheckIneffectiveRandInt/ │ │ └── CheckIneffectiveRandInt.go │ ├── sa4031/ │ │ ├── sa4031.go │ │ ├── sa4031_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckAllocationNilCheck/ │ │ └── CheckAllocationNilCheck.go │ ├── sa4032/ │ │ ├── sa4032.go │ │ ├── sa4032_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckGOOSComparison/ │ │ ├── complex.go │ │ ├── f_linux.go │ │ ├── f_unix.go │ │ ├── f_windows.go │ │ ├── other.go │ │ ├── tlinux.go │ │ ├── tunix.go │ │ ├── twindows.go │ │ └── unknown.go │ ├── sa5000/ │ │ ├── sa5000.go │ │ ├── sa5000_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckNilMaps/ │ │ └── CheckNilMaps.go │ ├── sa5001/ │ │ ├── sa5001.go │ │ ├── sa5001_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckEarlyDefer/ │ │ └── CheckEarlyDefer.go │ ├── sa5002/ │ │ ├── sa5002.go │ │ ├── sa5002_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckInfiniteEmptyLoop/ │ │ └── CheckInfiniteEmptyLoop.go │ ├── sa5003/ │ │ ├── sa5003.go │ │ ├── sa5003_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckDeferInInfiniteLoop/ │ │ └── CheckDeferInInfiniteLoop.go │ ├── sa5004/ │ │ ├── sa5004.go │ │ ├── sa5004_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckLoopEmptyDefault/ │ │ ├── CheckLoopEmptyDefault.go │ │ └── CheckLoopEmptyDefault.go.golden │ ├── sa5005/ │ │ ├── sa5005.go │ │ ├── sa5005_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckCyclicFinalizer/ │ │ └── CheckCyclicFinalizer.go │ ├── sa5007/ │ │ ├── sa5007.go │ │ ├── sa5007_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckInfiniteRecursion/ │ │ └── CheckInfiniteRecursion.go │ ├── sa5008/ │ │ ├── jsonv2.go │ │ ├── sa5008.go │ │ ├── sa5008_test.go │ │ ├── structtag.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ ├── CheckStructTags/ │ │ │ │ └── CheckStructTags.go │ │ │ ├── CheckStructTags2/ │ │ │ │ └── CheckStructTags2.go │ │ │ └── vendor/ │ │ │ └── github.com/ │ │ │ └── jessevdk/ │ │ │ └── go-flags/ │ │ │ └── pkg.go │ │ └── go1.18/ │ │ └── CheckStructTags/ │ │ └── generics.go │ ├── sa5009/ │ │ ├── sa5009.go │ │ ├── sa5009_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckPrintf/ │ │ └── CheckPrintf.go │ ├── sa5010/ │ │ ├── sa5010.go │ │ ├── sa5010_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckImpossibleTypeAssertion/ │ │ │ └── CheckImpossibleTypeAssertion.go │ │ └── go1.18/ │ │ └── CheckImpossibleTypeAssertion/ │ │ └── CheckImpossibleTypeAssertion.go │ ├── sa5011/ │ │ ├── sa5011.go │ │ ├── sa5011_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckMaybeNil/ │ │ │ └── CheckMaybeNil.go │ │ └── go1.18/ │ │ └── CheckMaybeNil/ │ │ └── generics.go │ ├── sa5012/ │ │ ├── sa5012.go │ │ ├── sa5012_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckEvenSliceLength/ │ │ └── CheckEvenSliceLength.go │ ├── sa6000/ │ │ ├── sa6000.go │ │ ├── sa6000_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckRegexpMatchLoop/ │ │ └── CheckRegexpMatchLoop.go │ ├── sa6001/ │ │ ├── sa6001.go │ │ ├── sa6001_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckMapBytesKey/ │ │ │ └── key.go │ │ └── go1.18/ │ │ └── CheckMapBytesKey/ │ │ └── key_generics.go │ ├── sa6002/ │ │ ├── sa6002.go │ │ ├── sa6002_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckSyncPoolValue/ │ │ └── CheckSyncPoolValue.go │ ├── sa6003/ │ │ ├── sa6003.go │ │ ├── sa6003_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckRangeStringRunes/ │ │ │ └── CheckRangeStringRunes.go │ │ └── go1.18/ │ │ └── CheckRangeStringRunes/ │ │ └── generics.go │ ├── sa6005/ │ │ ├── sa6005.go │ │ ├── sa6005_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckToLowerToUpperComparison/ │ │ ├── CheckToLowerToUpperComparison.go │ │ └── CheckToLowerToUpperComparison.go.golden │ ├── sa6006/ │ │ ├── sa6006.go │ │ ├── sa6006_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckByteSliceInIOWriteString/ │ │ └── CheckByteSliceInIOWriteString.go │ ├── sa9001/ │ │ ├── sa9001.go │ │ ├── sa9001_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckDubiousDeferInChannelRangeLoop/ │ │ │ └── CheckDubiousDeferInChannelRangeLoop.go │ │ └── go1.18/ │ │ └── CheckDubiousDeferInChannelRangeLoop/ │ │ └── generics.go │ ├── sa9002/ │ │ ├── sa9002.go │ │ ├── sa9002_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckNonOctalFileMode/ │ │ ├── CheckNonOctalFileMode.go │ │ └── CheckNonOctalFileMode.go.golden │ ├── sa9003/ │ │ ├── sa9003.go │ │ ├── sa9003_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckEmptyBranch/ │ │ ├── CheckEmptyBranch.go │ │ ├── CheckEmptyBranch_generated.go │ │ └── CheckEmptyBranch_test.go │ ├── sa9004/ │ │ ├── sa9004.go │ │ ├── sa9004_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckMissingEnumTypesInDeclaration/ │ │ ├── CheckMissingEnumTypesInDeclaration.go │ │ └── CheckMissingEnumTypesInDeclaration.go.golden │ ├── sa9005/ │ │ ├── sa9005.go │ │ ├── sa9005_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckNoopMarshal/ │ │ └── CheckNoopMarshal.go │ ├── sa9006/ │ │ ├── sa9006.go │ │ ├── sa9006_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckStaticBitShift/ │ │ └── CheckStaticBitShift.go │ ├── sa9007/ │ │ ├── sa9007.go │ │ ├── sa9007_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckBadRemoveAll/ │ │ └── CheckBadRemoveAll.go │ ├── sa9008/ │ │ ├── sa9008.go │ │ ├── sa9008_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckTypeAssertionShadowingElse/ │ │ └── CheckTypeAssertionShadowingElse.go │ ├── sa9009/ │ │ ├── sa9009.go │ │ ├── sa9009_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── Directives/ │ │ └── pkg.go │ └── sa9010/ │ ├── sa9010.go │ ├── sa9010_test.go │ └── testdata/ │ ├── go1.0/ │ │ └── example.com/ │ │ └── deferr/ │ │ └── deferr.go │ └── go1.18/ │ └── deferr/ │ └── deferr.go ├── staticcheck.conf ├── structlayout/ │ └── layout.go ├── stylecheck/ │ ├── analysis.go │ ├── doc.go │ ├── st1000/ │ │ ├── st1000.go │ │ ├── st1000_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ ├── CheckPackageComment-1/ │ │ │ └── CheckPackageComment-1.go │ │ ├── CheckPackageComment-2/ │ │ │ └── CheckPackageComment-2.go │ │ ├── CheckPackageComment-3/ │ │ │ └── CheckPackageComment-3.go │ │ ├── CheckPackageComment-4/ │ │ │ └── CheckPackageComment-4.go │ │ ├── CheckPackageComment-5/ │ │ │ └── CheckPackageComment-5.go │ │ └── CheckPackageComment-6/ │ │ └── CheckPackageComment-6.go │ ├── st1001/ │ │ ├── st1001.go │ │ ├── st1001_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckDotImports/ │ │ ├── CheckDotImports.go │ │ └── CheckDotImports_test.go │ ├── st1003/ │ │ ├── st1003.go │ │ ├── st1003_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ ├── CheckNames/ │ │ │ └── CheckNames.go │ │ └── CheckNames_generated/ │ │ └── CheckNames_generated.go │ ├── st1005/ │ │ ├── st1005.go │ │ ├── st1005_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckErrorStrings/ │ │ └── CheckErrorStrings.go │ ├── st1006/ │ │ ├── st1006.go │ │ ├── st1006_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckReceiverNames/ │ │ └── CheckReceiverNames.go │ ├── st1008/ │ │ ├── st1008.go │ │ ├── st1008_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckErrorReturn/ │ │ │ └── CheckErrorReturn.go │ │ └── go1.9/ │ │ └── CheckErrorReturn/ │ │ └── CheckErrorReturn.go │ ├── st1011/ │ │ ├── st1011.go │ │ ├── st1011_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckTimeNames/ │ │ └── CheckTimeNames.go │ ├── st1012/ │ │ ├── st1012.go │ │ ├── st1012_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckErrorVarNames/ │ │ └── CheckErrorVarNames.go │ ├── st1013/ │ │ ├── st1013.go │ │ ├── st1013_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckHTTPStatusCodes/ │ │ ├── CheckHTTPStatusCodes.go │ │ └── CheckHTTPStatusCodes.go.golden │ ├── st1015/ │ │ ├── st1015.go │ │ ├── st1015_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckDefaultCaseOrder/ │ │ └── CheckDefaultCaseOrder.go │ ├── st1016/ │ │ ├── st1016.go │ │ ├── st1016_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckReceiverNamesIdentical/ │ │ ├── CheckReceiverNames.go │ │ └── generated.go │ ├── st1017/ │ │ ├── st1017.go │ │ ├── st1017_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckYodaConditions/ │ │ ├── CheckYodaConditions.go │ │ └── CheckYodaConditions.go.golden │ ├── st1018/ │ │ ├── st1018.go │ │ ├── st1018_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckInvisibleCharacters/ │ │ ├── CheckInvisibleCharacters.go │ │ └── CheckInvisibleCharacters.go.golden │ ├── st1019/ │ │ ├── st1019.go │ │ ├── st1019_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckDuplicatedImports/ │ │ └── CheckDuplicatedImports.go │ ├── st1020/ │ │ ├── st1020.go │ │ ├── st1020_test.go │ │ └── testdata/ │ │ ├── go1.0/ │ │ │ └── CheckExportedFunctionDocs/ │ │ │ ├── CheckExportedFunctionDocs.go │ │ │ └── foo_test.go │ │ └── go1.18/ │ │ └── CheckExportedFunctionDocs/ │ │ └── generics.go │ ├── st1021/ │ │ ├── st1021.go │ │ ├── st1021_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckExportedTypeDocs/ │ │ └── CheckExportedTypeDocs.go │ ├── st1022/ │ │ ├── st1022.go │ │ ├── st1022_test.go │ │ └── testdata/ │ │ └── go1.0/ │ │ └── CheckExportedVarDocs/ │ │ └── CheckExportedVarDocs.go │ └── st1023/ │ ├── st1023.go │ ├── st1023_test.go │ └── testdata/ │ └── go1.0/ │ ├── CheckRedundantTypeInDeclaration/ │ │ ├── CheckRedundantTypeInDeclaration.go │ │ └── CheckRedundantTypeInDeclaration.go.golden │ └── CheckRedundantTypeInDeclaration_syscall/ │ └── CheckRedundantTypeInDeclaration_syscall.go ├── unused/ │ ├── implements.go │ ├── runtime.go │ ├── serialize.go │ ├── testdata/ │ │ └── src/ │ │ └── example.com/ │ │ ├── alias/ │ │ │ └── alias.go │ │ ├── anonymous/ │ │ │ └── anonymous.go │ │ ├── blank/ │ │ │ └── blank.go │ │ ├── blank-function-parameter/ │ │ │ └── blank.go │ │ ├── cgo/ │ │ │ └── cgo.go │ │ ├── constexpr/ │ │ │ └── constexpr.go │ │ ├── consts/ │ │ │ └── consts.go │ │ ├── conversion/ │ │ │ └── conversion.go │ │ ├── cyclic/ │ │ │ └── cyclic.go │ │ ├── defer/ │ │ │ └── defer.go │ │ ├── elem/ │ │ │ └── elem.go │ │ ├── embedded_call/ │ │ │ └── embedded_call.go │ │ ├── embedding/ │ │ │ └── embedding.go │ │ ├── embedding-alias/ │ │ │ └── embedding-alias.go │ │ ├── embedding2/ │ │ │ └── embedding2.go │ │ ├── exported_fields/ │ │ │ └── exported_fields.go │ │ ├── exported_fields_main/ │ │ │ └── exported_fields_main.go │ │ ├── exported_method_test/ │ │ │ ├── exported_method.go │ │ │ └── exported_method_test.go │ │ ├── fields/ │ │ │ ├── fields.go │ │ │ └── fields_go123.go │ │ ├── functions/ │ │ │ └── functions.go │ │ ├── generated/ │ │ │ ├── generated.go │ │ │ └── normal.go │ │ ├── generic-interfaces/ │ │ │ └── generic-interfaces.go │ │ ├── ignored/ │ │ │ ├── ignored.go │ │ │ ├── ignored2.go │ │ │ ├── ignored3.go │ │ │ └── ignored4.go │ │ ├── implicit-conversion/ │ │ │ └── implicit-conversion.go │ │ ├── increment/ │ │ │ ├── increment.go │ │ │ └── increment_test.go │ │ ├── index-write/ │ │ │ └── write.go │ │ ├── initializers/ │ │ │ └── initializers.go │ │ ├── instantiated-functions/ │ │ │ └── instantiated-functions.go │ │ ├── interfaces/ │ │ │ └── interfaces.go │ │ ├── interfaces2/ │ │ │ └── interfaces.go │ │ ├── issue1289/ │ │ │ └── issue1289.go │ │ ├── linkname/ │ │ │ └── linkname.go │ │ ├── local-type-param-sink/ │ │ │ └── typeparam.go │ │ ├── local-type-param-source/ │ │ │ └── typeparam.go │ │ ├── main/ │ │ │ └── main.go │ │ ├── mapslice/ │ │ │ └── mapslice.go │ │ ├── methods/ │ │ │ └── methods.go │ │ ├── named/ │ │ │ └── named.go │ │ ├── nested/ │ │ │ └── nested.go │ │ ├── nocopy/ │ │ │ └── nocopy.go │ │ ├── nocopy-main/ │ │ │ ├── nocopy-main.go │ │ │ └── stub.go │ │ ├── parens/ │ │ │ └── parens.go │ │ ├── pointer-type-embedding/ │ │ │ └── pointer-type-embedding.go │ │ ├── pointers/ │ │ │ └── pointers.go │ │ ├── quiet/ │ │ │ └── quiet.go │ │ ├── selectors/ │ │ │ └── selectors.go │ │ ├── skipped-test/ │ │ │ └── skipped_test.go │ │ ├── switch_interface/ │ │ │ └── switch_interface.go │ │ ├── tests/ │ │ │ ├── tests.go │ │ │ └── tests_test.go │ │ ├── tests-main/ │ │ │ ├── main.go │ │ │ └── main_test.go │ │ ├── type-dedup/ │ │ │ └── dedup.go │ │ ├── type-dedup2/ │ │ │ └── dedup.go │ │ ├── type-dedup3/ │ │ │ └── dedup.go │ │ ├── typeparams/ │ │ │ ├── typeparams.go │ │ │ └── typeparams_17.go │ │ ├── types/ │ │ │ └── types.go │ │ ├── unsafe-recursive/ │ │ │ └── conversion.go │ │ ├── unused-argument/ │ │ │ └── unused-argument.go │ │ ├── unused_type/ │ │ │ └── unused_type.go │ │ └── variables/ │ │ ├── variables.go │ │ └── vartype.go │ ├── unused.go │ └── unused_test.go └── website/ ├── archetypes/ │ └── default.md ├── assets/ │ ├── js/ │ │ └── base.js │ └── scss/ │ ├── _styles_project.scss │ └── _variables_project.scss ├── build.sh ├── cmd/ │ ├── generate_checks/ │ │ └── generate_checks.go │ └── generate_config/ │ └── generate_config.go ├── config.toml ├── content/ │ ├── _index.md │ ├── changes/ │ │ ├── 2017.2.md │ │ ├── 2019.1.md │ │ ├── 2019.2.md │ │ ├── 2020.1.md │ │ ├── 2020.2.md │ │ ├── 2021.1.md │ │ ├── 2022.1.md │ │ ├── 2023.1.md │ │ ├── 2024.1.md │ │ ├── 2025.1.md │ │ ├── 2026.1.md │ │ └── _index.md │ ├── contact.md │ ├── docs/ │ │ ├── _index.md │ │ ├── changes.md │ │ ├── checks.html │ │ ├── configuration/ │ │ │ ├── _index.md │ │ │ └── options.md │ │ ├── faq.md │ │ ├── getting-started.md │ │ └── running-staticcheck/ │ │ ├── _index.md │ │ ├── ci/ │ │ │ ├── _index.md │ │ │ └── github-actions/ │ │ │ └── index.md │ │ ├── cli/ │ │ │ ├── _index.md │ │ │ ├── build-tags/ │ │ │ │ └── index.md │ │ │ └── formatters.md │ │ └── editors.md │ └── sponsors.md ├── go.mod ├── go.sum ├── layouts/ │ ├── _internal/ │ │ └── twitter_cards.html │ ├── changes/ │ │ └── list.rss.xml │ ├── index.redir │ ├── partials/ │ │ ├── breadcrumb.html │ │ ├── footer.html │ │ ├── hooks/ │ │ │ └── head-end.html │ │ └── navbar.html │ └── shortcodes/ │ ├── check.html │ ├── commit.html │ ├── content.html │ ├── details.html │ ├── faq/ │ │ ├── list.html │ │ └── question.md │ ├── issue.html │ ├── issueref.html │ └── option.html ├── package.json ├── shell.nix ├── static/ │ └── _headers └── website.go