Automated deployment to GitHub Pages: a657438caf

This commit is contained in:
swiftlintbot@jpsim.com
2024-08-02 22:12:36 +00:00
parent a23bb78113
commit b623d1f8fa
12 changed files with 1124 additions and 6 deletions
+9
View File
@@ -1675,6 +1675,15 @@
</code>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/documentation.prefer_key_path"></a>
<a name="//apple_ref/swift/Guide/prefer_key_path" class="dashAnchor"></a>
<a class="direct-link" href="prefer_key_path.html">prefer_key_path</a>
</code>
</div>
</li>
<li class="item">
<div>
<code>
@@ -1675,6 +1675,15 @@
</code>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/documentation.prefer_key_path"></a>
<a name="//apple_ref/swift/Guide/prefer_key_path" class="dashAnchor"></a>
<a class="direct-link" href="prefer_key_path.html">prefer_key_path</a>
</code>
</div>
</li>
<li class="item">
<div>
<code>
@@ -0,0 +1,548 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>prefer_key_path Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset="utf-8">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
<script src="js/lunr.min.js" defer></script>
<script src="js/typeahead.jquery.js" defer></script>
<script src="js/jazzy.search.js" defer></script>
</head>
<body>
<a title="prefer_key_path Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SwiftLintCore 0.55.1 Docs
</a>
(100% documented)
</p>
<div class="header-col--secondary">
<form role="search" action="search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</div>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/realm/SwiftLint">
<img class="header-icon" src="img/gh.png" alt="GitHub"/>
View on GitHub
</a>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="dash-feed://https%3A%2F%2Frealm.github.io%2FSwiftLint%2Fdocsets%2FSwiftLintCore.xml">
<img class="header-icon" src="img/dash.png" alt="Dash"/>
Install in Dash
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="index.html">SwiftLintCore Reference</a>
<img class="carat" src="img/carat.png" alt=""/>
prefer_key_path Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="Rules.html">Rules</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="rule-directory.html">Rule Directory</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CodeIndentingRewriter.html">CodeIndentingRewriter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CodeIndentingRewriter/IndentationStyle.html">– IndentationStyle</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CustomRuleTimer.html">CustomRuleTimer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/DeclaredIdentifiersTrackingVisitor.html">DeclaredIdentifiersTrackingVisitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/LinterCache.html">LinterCache</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/RuleRegistry.html">RuleRegistry</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/RuleStorage.html">RuleStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SwiftLintFile.html">SwiftLintFile</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ViolationsSyntaxRewriter.html">ViolationsSyntaxRewriter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ViolationsSyntaxVisitor.html">ViolationsSyntaxVisitor</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Global%20Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Global%20Variables.html#/s:13SwiftLintCore9coreRulesSayAA4Rule_pXpGvp">coreRules</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Global%20Variables.html#/s:13SwiftLintCore13reportersListSayAA8Reporter_pXpGvp">reportersList</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/AccessControlLevel.html">AccessControlLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ExecutableInfo.html">ExecutableInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/IdentifierDeclaration.html">IdentifierDeclaration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/Issue.html">Issue</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/OptionType.html">OptionType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleIdentifier.html">RuleIdentifier</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleKind.html">RuleKind</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleListError.html">RuleListError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SwiftExpressionKind.html">SwiftExpressionKind</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ViolationSeverity.html">ViolationSeverity</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Array.html">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Optional.html">Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Set.html">Set</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/String.html">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:13SwiftLintCore12reporterFrom10identifierAA8Reporter_pXpSSSg_tF">reporterFrom(identifier:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ASTRule.html">ASTRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/AcceptableByConfigurationElement.html">AcceptableByConfigurationElement</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/AnalyzerRule.html">AnalyzerRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore17AnyCollectingRuleP">AnyCollectingRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CacheDescriptionProvider.html">CacheDescriptionProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CollectingRule.html">CollectingRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CorrectableRule.html">CorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Documentable.html">Documentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore19InlinableOptionTypeP">InlinableOptionType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore9OptInRuleP">OptInRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Reporter.html">Reporter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Rule.html">Rule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/RuleConfiguration.html">RuleConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SeverityBasedRuleConfiguration.html">SeverityBasedRuleConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore17SourceKitFreeRuleP">SourceKitFreeRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SubstitutionCorrectableRule.html">SubstitutionCorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SwiftSyntaxCorrectableRule.html">SwiftSyntaxCorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SwiftSyntaxRule.html">SwiftSyntaxRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/VersionComparable.html">VersionComparable</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Baseline.html">Baseline</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ChildOptionSeverityConfiguration.html">ChildOptionSeverityConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/CollectedLinter.html">CollectedLinter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command.html">Command</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command/Action.html">– Action</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command/Modifier.html">– Modifier</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Configuration.html">Configuration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ConfigurationElement.html">ConfigurationElement</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ConfigurationElement/DeprecationNotice.html">– DeprecationNotice</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Correction.html">Correction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Example.html">Example</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Linter.html">Linter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Location.html">Location</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ReasonedRuleViolation.html">ReasonedRuleViolation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ReasonedRuleViolation/ViolationCorrection.html">– ViolationCorrection</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RegexConfiguration.html">RegexConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Region.html">Region</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleConfigurationDescription.html">RuleConfigurationDescription</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs.html#/s:13SwiftLintCore35RuleConfigurationDescriptionBuilderV">RuleConfigurationDescriptionBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleConfigurationOption.html">RuleConfigurationOption</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleDescription.html">RuleDescription</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleList.html">RuleList</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleListDocumentation.html">RuleListDocumentation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleParameter.html">RuleParameter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SeverityConfiguration.html">SeverityConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SeverityLevelsConfiguration.html">SeverityLevelsConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Stack.html">Stack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/StyleViolation.html">StyleViolation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftLintSyntaxMap.html">SwiftLintSyntaxMap</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftLintSyntaxToken.html">SwiftLintSyntaxToken</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftVersion.html">SwiftVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Version.html">Version</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/YamlParser.html">YamlParser</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content top-matter">
<h1 id='prefer-key-path' class='heading'>Prefer Key Path</h1>
<p>Use a key path argument instead of a closure with property access</p>
<ul>
<li><strong>Identifier:</strong> <code>prefer_key_path</code></li>
<li><strong>Enabled by default:</strong> No</li>
<li><strong>Supports autocorrection:</strong> Yes</li>
<li><strong>Kind:</strong> idiomatic</li>
<li><strong>Analyzer rule:</strong> No</li>
<li><strong>Minimum Swift compiler version:</strong> 5.2.0</li>
<li><strong>Default configuration:</strong>
<table>
<thead>
<tr><th>Key</th><th>Value</th></tr>
</thead>
<tbody>
<tr>
<td>
severity
</td>
<td>
warning
</td>
</tr>
<tr>
<td>
restrict_to_standard_functions
</td>
<td>
true
</td>
</tr>
</tbody>
</table></li>
</ul>
<h2 id='non-triggering-examples' class='heading'>Non Triggering Examples</h2>
<pre class="highlight swift"><code><span class="n">f</span> <span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">f</span> <span class="o">=</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}(</span><span class="n">b</span><span class="p">)</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="nf">f</span><span class="p">()</span> <span class="p">{</span> <span class="nf">g</span><span class="p">()</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span><span class="o">.</span><span class="n">c</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="n">a</span> <span class="k">in</span> <span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="k">in</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span> <span class="k">in</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span> <span class="nv">g</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span><span class="o">.</span><span class="nf">reduce</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span> <span class="nv">$0</span> <span class="o">+</span> <span class="nv">$1</span> <span class="p">}</span>
</code></pre>
<h2 id='triggering-examples' class='heading'>Triggering Examples</h2>
<pre class="highlight swift"><code><span class="n">f</span><span class="o">.</span><span class="n">map</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span><span class="o">.</span><span class="n">filter</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span><span class="o">.</span><span class="n">first</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span><span class="o">.</span><span class="n">contains</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span><span class="o">.</span><span class="nf">contains</span><span class="p">(</span><span class="nv">where</span><span class="p">:</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">})</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="n">a</span> <span class="k">in</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="n">a</span> <span class="k">in</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span><span class="o">.</span><span class="n">c</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="kt">A</span><span class="p">)</span> <span class="k">in</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="p">(</span><span class="n">a</span> <span class="nv">b</span><span class="p">:</span> <span class="kt">A</span><span class="p">)</span> <span class="k">in</span> <span class="n">b</span><span class="o">.</span><span class="n">c</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="mi">0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="nf">f</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">b</span> <span class="p">})</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="k">let</span> <span class="nv">f</span><span class="p">:</span> <span class="p">(</span><span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Int</span> <span class="o">=</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">bigEndian</span> <span class="p">}</span>
</code></pre>
</div>
</section>
</article>
</div>
<section class="footer">
<p>© 2023 <a class="link" href="https://jpsim.com" target="_blank" rel="external noopener">JP Simard</a> under MIT.</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</body>
</html>
@@ -542,6 +542,7 @@
<li><a href="override_in_extension.md"><code><a href="override_in_extension.html">override_in_extension</a></code></a>: Override in Extension</li>
<li><a href="pattern_matching_keywords.md"><code><a href="pattern_matching_keywords.html">pattern_matching_keywords</a></code></a>: Pattern Matching Keywords</li>
<li><a href="period_spacing.md"><code><a href="period_spacing.html">period_spacing</a></code></a>: Period Spacing</li>
<li><a href="prefer_key_path.md"><code><a href="prefer_key_path.html">prefer_key_path</a></code></a>: Prefer Key Path</li>
<li><a href="prefer_nimble.md"><code><a href="prefer_nimble.html">prefer_nimble</a></code></a>: Prefer Nimble</li>
<li><a href="prefer_self_in_static_references.md"><code><a href="prefer_self_in_static_references.html">prefer_self_in_static_references</a></code></a>: Prefer Self in Static References</li>
<li><a href="prefer_self_type_over_type_of_self.md"><code><a href="prefer_self_type_over_type_of_self.html">prefer_self_type_over_type_of_self</a></code></a>: Prefer Self Type Over Type of Self</li>
File diff suppressed because one or more lines are too long
@@ -358,7 +358,7 @@
<p>Rules written using SwiftSyntax tend to be significantly faster and have fewer false positives
than rules that use SourceKit to get source structure information.</p>
<p>23 out of 235 (9%)
<p>23 out of 236 (9%)
of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<h2 id='rules-using-sourcekit' class='heading'>Rules Using SourceKit</h2>
<h3 id='default-rules-6' class='heading'>Default Rules (6)</h3>
@@ -487,7 +487,7 @@ of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<li><a href="void_return.md"><code><a href="void_return.html">void_return</a></code></a>: Void Return</li>
<li><a href="xctfail_message.md"><code><a href="xctfail_message.html">xctfail_message</a></code></a>: XCTFail Message</li>
</ul>
<h3 id='opt-in-rules-122' class='heading'>Opt-in Rules (122)</h3>
<h3 id='opt-in-rules-123' class='heading'>Opt-in Rules (123)</h3>
<ul>
<li><a href="anonymous_argument_in_multiline_closure.md"><code><a href="anonymous_argument_in_multiline_closure.html">anonymous_argument_in_multiline_closure</a></code></a>: Anonymous Argument in Multiline Closure</li>
@@ -566,6 +566,7 @@ of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<li><a href="override_in_extension.md"><code><a href="override_in_extension.html">override_in_extension</a></code></a>: Override in Extension</li>
<li><a href="pattern_matching_keywords.md"><code><a href="pattern_matching_keywords.html">pattern_matching_keywords</a></code></a>: Pattern Matching Keywords</li>
<li><a href="period_spacing.md"><code><a href="period_spacing.html">period_spacing</a></code></a>: Period Spacing</li>
<li><a href="prefer_key_path.md"><code><a href="prefer_key_path.html">prefer_key_path</a></code></a>: Prefer Key Path</li>
<li><a href="prefer_nimble.md"><code><a href="prefer_nimble.html">prefer_nimble</a></code></a>: Prefer Nimble</li>
<li><a href="prefer_self_in_static_references.md"><code><a href="prefer_self_in_static_references.html">prefer_self_in_static_references</a></code></a>: Prefer Self in Static References</li>
<li><a href="prefer_self_type_over_type_of_self.md"><code><a href="prefer_self_type_over_type_of_self.html">prefer_self_type_over_type_of_self</a></code></a>: Prefer Self Type Over Type of Self</li>
Binary file not shown.
+548
View File
@@ -0,0 +1,548 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>prefer_key_path Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset="utf-8">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
<script src="js/lunr.min.js" defer></script>
<script src="js/typeahead.jquery.js" defer></script>
<script src="js/jazzy.search.js" defer></script>
</head>
<body>
<a title="prefer_key_path Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SwiftLintCore 0.55.1 Docs
</a>
(100% documented)
</p>
<div class="header-col--secondary">
<form role="search" action="search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</div>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/realm/SwiftLint">
<img class="header-icon" src="img/gh.png" alt="GitHub"/>
View on GitHub
</a>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="dash-feed://https%3A%2F%2Frealm.github.io%2FSwiftLint%2Fdocsets%2FSwiftLintCore.xml">
<img class="header-icon" src="img/dash.png" alt="Dash"/>
Install in Dash
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="index.html">SwiftLintCore Reference</a>
<img class="carat" src="img/carat.png" alt=""/>
prefer_key_path Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="Rules.html">Rules</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="rule-directory.html">Rule Directory</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CodeIndentingRewriter.html">CodeIndentingRewriter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CodeIndentingRewriter/IndentationStyle.html">– IndentationStyle</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CustomRuleTimer.html">CustomRuleTimer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/DeclaredIdentifiersTrackingVisitor.html">DeclaredIdentifiersTrackingVisitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/LinterCache.html">LinterCache</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/RuleRegistry.html">RuleRegistry</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/RuleStorage.html">RuleStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SwiftLintFile.html">SwiftLintFile</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ViolationsSyntaxRewriter.html">ViolationsSyntaxRewriter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ViolationsSyntaxVisitor.html">ViolationsSyntaxVisitor</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Global%20Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Global%20Variables.html#/s:13SwiftLintCore9coreRulesSayAA4Rule_pXpGvp">coreRules</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Global%20Variables.html#/s:13SwiftLintCore13reportersListSayAA8Reporter_pXpGvp">reportersList</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/AccessControlLevel.html">AccessControlLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ExecutableInfo.html">ExecutableInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/IdentifierDeclaration.html">IdentifierDeclaration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/Issue.html">Issue</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/OptionType.html">OptionType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleIdentifier.html">RuleIdentifier</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleKind.html">RuleKind</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleListError.html">RuleListError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SwiftExpressionKind.html">SwiftExpressionKind</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ViolationSeverity.html">ViolationSeverity</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Array.html">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Optional.html">Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Set.html">Set</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/String.html">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:13SwiftLintCore12reporterFrom10identifierAA8Reporter_pXpSSSg_tF">reporterFrom(identifier:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ASTRule.html">ASTRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/AcceptableByConfigurationElement.html">AcceptableByConfigurationElement</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/AnalyzerRule.html">AnalyzerRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore17AnyCollectingRuleP">AnyCollectingRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CacheDescriptionProvider.html">CacheDescriptionProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CollectingRule.html">CollectingRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CorrectableRule.html">CorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Documentable.html">Documentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore19InlinableOptionTypeP">InlinableOptionType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore9OptInRuleP">OptInRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Reporter.html">Reporter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Rule.html">Rule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/RuleConfiguration.html">RuleConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SeverityBasedRuleConfiguration.html">SeverityBasedRuleConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore17SourceKitFreeRuleP">SourceKitFreeRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SubstitutionCorrectableRule.html">SubstitutionCorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SwiftSyntaxCorrectableRule.html">SwiftSyntaxCorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SwiftSyntaxRule.html">SwiftSyntaxRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/VersionComparable.html">VersionComparable</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Baseline.html">Baseline</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ChildOptionSeverityConfiguration.html">ChildOptionSeverityConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/CollectedLinter.html">CollectedLinter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command.html">Command</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command/Action.html">– Action</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command/Modifier.html">– Modifier</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Configuration.html">Configuration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ConfigurationElement.html">ConfigurationElement</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ConfigurationElement/DeprecationNotice.html">– DeprecationNotice</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Correction.html">Correction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Example.html">Example</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Linter.html">Linter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Location.html">Location</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ReasonedRuleViolation.html">ReasonedRuleViolation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ReasonedRuleViolation/ViolationCorrection.html">– ViolationCorrection</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RegexConfiguration.html">RegexConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Region.html">Region</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleConfigurationDescription.html">RuleConfigurationDescription</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs.html#/s:13SwiftLintCore35RuleConfigurationDescriptionBuilderV">RuleConfigurationDescriptionBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleConfigurationOption.html">RuleConfigurationOption</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleDescription.html">RuleDescription</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleList.html">RuleList</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleListDocumentation.html">RuleListDocumentation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleParameter.html">RuleParameter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SeverityConfiguration.html">SeverityConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SeverityLevelsConfiguration.html">SeverityLevelsConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Stack.html">Stack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/StyleViolation.html">StyleViolation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftLintSyntaxMap.html">SwiftLintSyntaxMap</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftLintSyntaxToken.html">SwiftLintSyntaxToken</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftVersion.html">SwiftVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Version.html">Version</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/YamlParser.html">YamlParser</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content top-matter">
<h1 id='prefer-key-path' class='heading'>Prefer Key Path</h1>
<p>Use a key path argument instead of a closure with property access</p>
<ul>
<li><strong>Identifier:</strong> <code>prefer_key_path</code></li>
<li><strong>Enabled by default:</strong> No</li>
<li><strong>Supports autocorrection:</strong> Yes</li>
<li><strong>Kind:</strong> idiomatic</li>
<li><strong>Analyzer rule:</strong> No</li>
<li><strong>Minimum Swift compiler version:</strong> 5.2.0</li>
<li><strong>Default configuration:</strong>
<table>
<thead>
<tr><th>Key</th><th>Value</th></tr>
</thead>
<tbody>
<tr>
<td>
severity
</td>
<td>
warning
</td>
</tr>
<tr>
<td>
restrict_to_standard_functions
</td>
<td>
true
</td>
</tr>
</tbody>
</table></li>
</ul>
<h2 id='non-triggering-examples' class='heading'>Non Triggering Examples</h2>
<pre class="highlight swift"><code><span class="n">f</span> <span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">f</span> <span class="o">=</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}(</span><span class="n">b</span><span class="p">)</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="nf">f</span><span class="p">()</span> <span class="p">{</span> <span class="nf">g</span><span class="p">()</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span><span class="o">.</span><span class="n">c</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="n">a</span> <span class="k">in</span> <span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="k">in</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span> <span class="k">in</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span> <span class="nv">g</span><span class="p">:</span> <span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span><span class="o">.</span><span class="nf">reduce</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span> <span class="nv">$0</span> <span class="o">+</span> <span class="nv">$1</span> <span class="p">}</span>
</code></pre>
<h2 id='triggering-examples' class='heading'>Triggering Examples</h2>
<pre class="highlight swift"><code><span class="n">f</span><span class="o">.</span><span class="n">map</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span><span class="o">.</span><span class="n">filter</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span><span class="o">.</span><span class="n">first</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span><span class="o">.</span><span class="n">contains</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="n">f</span><span class="o">.</span><span class="nf">contains</span><span class="p">(</span><span class="nv">where</span><span class="p">:</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">})</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="n">a</span> <span class="k">in</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="n">a</span> <span class="k">in</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span><span class="o">.</span><span class="n">c</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="kt">A</span><span class="p">)</span> <span class="k">in</span> <span class="n">a</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="p">(</span><span class="n">a</span> <span class="nv">b</span><span class="p">:</span> <span class="kt">A</span><span class="p">)</span> <span class="k">in</span> <span class="n">b</span><span class="o">.</span><span class="n">c</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="mi">0</span><span class="o">.</span><span class="n">a</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="nf">f</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">b</span> <span class="p">})</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="n">f</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">a</span><span class="o">.</span><span class="n">b</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// restrict_to_standard_functions: false</span>
<span class="c1">//</span>
<span class="k">let</span> <span class="nv">f</span><span class="p">:</span> <span class="p">(</span><span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Int</span> <span class="o">=</span> <span class="err">↓</span><span class="p">{</span> <span class="nv">$0</span><span class="o">.</span><span class="n">bigEndian</span> <span class="p">}</span>
</code></pre>
</div>
</section>
</article>
</div>
<section class="footer">
<p>© 2023 <a class="link" href="https://jpsim.com" target="_blank" rel="external noopener">JP Simard</a> under MIT.</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</body>
</html>
+1
View File
@@ -542,6 +542,7 @@
<li><a href="override_in_extension.md"><code><a href="override_in_extension.html">override_in_extension</a></code></a>: Override in Extension</li>
<li><a href="pattern_matching_keywords.md"><code><a href="pattern_matching_keywords.html">pattern_matching_keywords</a></code></a>: Pattern Matching Keywords</li>
<li><a href="period_spacing.md"><code><a href="period_spacing.html">period_spacing</a></code></a>: Period Spacing</li>
<li><a href="prefer_key_path.md"><code><a href="prefer_key_path.html">prefer_key_path</a></code></a>: Prefer Key Path</li>
<li><a href="prefer_nimble.md"><code><a href="prefer_nimble.html">prefer_nimble</a></code></a>: Prefer Nimble</li>
<li><a href="prefer_self_in_static_references.md"><code><a href="prefer_self_in_static_references.html">prefer_self_in_static_references</a></code></a>: Prefer Self in Static References</li>
<li><a href="prefer_self_type_over_type_of_self.md"><code><a href="prefer_self_type_over_type_of_self.html">prefer_self_type_over_type_of_self</a></code></a>: Prefer Self Type Over Type of Self</li>
+1 -1
View File
File diff suppressed because one or more lines are too long
+3 -2
View File
@@ -358,7 +358,7 @@
<p>Rules written using SwiftSyntax tend to be significantly faster and have fewer false positives
than rules that use SourceKit to get source structure information.</p>
<p>23 out of 235 (9%)
<p>23 out of 236 (9%)
of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<h2 id='rules-using-sourcekit' class='heading'>Rules Using SourceKit</h2>
<h3 id='default-rules-6' class='heading'>Default Rules (6)</h3>
@@ -487,7 +487,7 @@ of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<li><a href="void_return.md"><code><a href="void_return.html">void_return</a></code></a>: Void Return</li>
<li><a href="xctfail_message.md"><code><a href="xctfail_message.html">xctfail_message</a></code></a>: XCTFail Message</li>
</ul>
<h3 id='opt-in-rules-122' class='heading'>Opt-in Rules (122)</h3>
<h3 id='opt-in-rules-123' class='heading'>Opt-in Rules (123)</h3>
<ul>
<li><a href="anonymous_argument_in_multiline_closure.md"><code><a href="anonymous_argument_in_multiline_closure.html">anonymous_argument_in_multiline_closure</a></code></a>: Anonymous Argument in Multiline Closure</li>
@@ -566,6 +566,7 @@ of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<li><a href="override_in_extension.md"><code><a href="override_in_extension.html">override_in_extension</a></code></a>: Override in Extension</li>
<li><a href="pattern_matching_keywords.md"><code><a href="pattern_matching_keywords.html">pattern_matching_keywords</a></code></a>: Pattern Matching Keywords</li>
<li><a href="period_spacing.md"><code><a href="period_spacing.html">period_spacing</a></code></a>: Period Spacing</li>
<li><a href="prefer_key_path.md"><code><a href="prefer_key_path.html">prefer_key_path</a></code></a>: Prefer Key Path</li>
<li><a href="prefer_nimble.md"><code><a href="prefer_nimble.html">prefer_nimble</a></code></a>: Prefer Nimble</li>
<li><a href="prefer_self_in_static_references.md"><code><a href="prefer_self_in_static_references.html">prefer_self_in_static_references</a></code></a>: Prefer Self in Static References</li>
<li><a href="prefer_self_type_over_type_of_self.md"><code><a href="prefer_self_type_over_type_of_self.html">prefer_self_type_over_type_of_self</a></code></a>: Prefer Self Type Over Type of Self</li>