blob: 31bf24c8c03f1f1dc8e5dc8ffb45b60d9752c03f [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Decorates a `Service`, transforming either the request or the response."><meta name="keywords" content="rust, rustlang, rust-lang, Layer"><title>Layer in tower_layer - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../normalize.css"><link rel="stylesheet" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../ayu.css" disabled><link rel="stylesheet" href="../dark.css" disabled><link rel="stylesheet" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../main.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../tower_layer/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../tower_layer/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Layer</a></h2><div class="sidebar-elems"><section><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Service">Service</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.layer">layer</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-Layer%3CS%3E-for-%26%27a%20T">&amp;&#39;a T</a></li><li><a href="#impl-Layer%3CS%3E-for-()">()</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2)">(L1, L2)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3)">(L1, L2, L3)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4)">(L1, L2, L3, L4)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5)">(L1, L2, L3, L4, L5)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6)">(L1, L2, L3, L4, L5, L6)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7)">(L1, L2, L3, L4, L5, L6, L7)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8)">(L1, L2, L3, L4, L5, L6, L7, L8)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9)">(L1, L2, L3, L4, L5, L6, L7, L8, L9)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10)">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11)">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12)">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13)">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13%2C%20L14)">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13%2C%20L14%2C%20L15)">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14, L15)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13%2C%20L14%2C%20L15%2C%20L16)">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14, L15, L16)</a></li><li><a href="#impl-Layer%3CS%3E-for-(L1%2C)">(L1,)</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In tower_layer</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="index.html">tower_layer</a>::<wbr><a class="trait" href="#">Layer</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/tower_layer/lib.rs.html#95-101">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait Layer&lt;S&gt; {
type <a href="#associatedtype.Service" class="associatedtype">Service</a>;
fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, inner: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>;
}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Decorates a <a href="https://docs.rs/tower/latest/tower/trait.Service.html"><code>Service</code></a>, transforming either the request or the response.</p>
<p>Often, many of the pieces needed for writing network applications can be
reused across multiple services. The <code>Layer</code> trait can be used to write
reusable components that can be applied to very different kinds of services;
for example, it can be applied to services operating on different protocols,
and to both the client and server side of a network transaction.</p>
<h2 id="log"><a href="#log">Log</a></h2>
<p>Take request logging as an example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
<span class="kw">pub struct </span>LogLayer {
target: <span class="kw-2">&amp;</span><span class="lifetime">&#39;static </span>str,
}
<span class="kw">impl</span>&lt;S&gt; Layer&lt;S&gt; <span class="kw">for </span>LogLayer {
<span class="kw">type </span>Service = LogService&lt;S&gt;;
<span class="kw">fn </span>layer(<span class="kw-2">&amp;</span><span class="self">self</span>, service: S) -&gt; <span class="self">Self</span>::Service {
LogService {
target: <span class="self">self</span>.target,
service
}
}
}
<span class="comment">// This service implements the Log behavior
</span><span class="kw">pub struct </span>LogService&lt;S&gt; {
target: <span class="kw-2">&amp;</span><span class="lifetime">&#39;static </span>str,
service: S,
}
<span class="kw">impl</span>&lt;S, Request&gt; Service&lt;Request&gt; <span class="kw">for </span>LogService&lt;S&gt;
<span class="kw">where
</span>S: Service&lt;Request&gt;,
Request: fmt::Debug,
{
<span class="kw">type </span>Response = S::Response;
<span class="kw">type </span>Error = S::Error;
<span class="kw">type </span>Future = S::Future;
<span class="kw">fn </span>poll_ready(<span class="kw-2">&amp;mut </span><span class="self">self</span>, cx: <span class="kw-2">&amp;mut </span>Context&lt;<span class="lifetime">&#39;_</span>&gt;) -&gt; Poll&lt;<span class="prelude-ty">Result</span>&lt;(), <span class="self">Self</span>::Error&gt;&gt; {
<span class="self">self</span>.service.poll_ready(cx)
}
<span class="kw">fn </span>call(<span class="kw-2">&amp;mut </span><span class="self">self</span>, request: Request) -&gt; <span class="self">Self</span>::Future {
<span class="comment">// Insert log statement here or other functionality
</span><span class="macro">println!</span>(<span class="string">&quot;request = {:?}, target = {:?}&quot;</span>, request, <span class="self">self</span>.target);
<span class="self">self</span>.service.call(request)
}
}</code></pre></div>
<p>The above log implementation is decoupled from the underlying protocol and
is also decoupled from client or server concerns. In other words, the same
log middleware could be used in either a client or a server.</p>
</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="associatedtype.Service" class="method has-srclink"><a class="srclink rightside" href="../src/tower_layer/lib.rs.html#97">source</a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a></h4></section></summary><div class="docblock"><p>The wrapped service</p>
</div></details></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.layer" class="method has-srclink"><a class="srclink rightside" href="../src/tower_layer/lib.rs.html#100">source</a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, inner: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></summary><div class="docblock"><p>Wrap the given service with the middleware, returning a new service
that has been decorated with the middleware.</p>
</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-()" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#3-9">source</a><a href="#impl-Layer%3CS%3E-for-()" class="anchor"></a><h3 class="code-header">impl&lt;S&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-1" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = S</h4></section><section id="method.layer" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#6-8">source</a><a href="#method.layer" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#11-21">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1,)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-2" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-2" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#17-20">source</a><a href="#method.layer-1" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#23-34">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-3" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-3" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#30-33">source</a><a href="#method.layer-2" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#36-48">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-4" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-4" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#44-47">source</a><a href="#method.layer-3" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#50-63">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-5" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-5" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#59-62">source</a><a href="#method.layer-4" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#65-79">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-6" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-6" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#75-78">source</a><a href="#method.layer-5" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#81-96">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-7" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-7" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-6" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#92-95">source</a><a href="#method.layer-6" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#98-114">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6, L7&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6, L7)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L7::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L7: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-8" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-8" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L7 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-7" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#110-113">source</a><a href="#method.layer-7" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#116-133">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6, L7, L8&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6, L7, L8)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L7::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L7: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L8::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L8: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-9" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-9" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L7 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L8 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-8" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#129-132">source</a><a href="#method.layer-8" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#135-153">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6, L7, L8, L9&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6, L7, L8, L9)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L7::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L7: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L8::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L8: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L9::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L9: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-10" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-10" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L7 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L8 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L9 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-9" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#149-152">source</a><a href="#method.layer-9" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#155-175">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6, L7, L8, L9, L10&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L7::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L7: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L8::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L8: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L9::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L9: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L10::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L10: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-11" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-11" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L7 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L8 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L9 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L10 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-10" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#171-174">source</a><a href="#method.layer-10" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#177-198">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L7::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L7: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L8::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L8: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L9::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L9: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L10::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L10: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L11::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L11: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-12" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-12" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L7 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L8 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L9 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L10 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L11 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-11" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#194-197">source</a><a href="#method.layer-11" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#200-222">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L7::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L7: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L8::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L8: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L9::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L9: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L10::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L10: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L11::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L11: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L12::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L12: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-13" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-13" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L7 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L8 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L9 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L10 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L11 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L12 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-12" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#218-221">source</a><a href="#method.layer-12" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#224-247">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L7::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L7: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L8::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L8: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L9::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L9: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L10::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L10: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L11::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L11: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L12::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L12: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L13::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L13: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-14" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-14" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L7 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L8 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L9 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L10 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L11 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L12 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L13 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-13" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#243-246">source</a><a href="#method.layer-13" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13%2C%20L14)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#249-273">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13%2C%20L14)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L7::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L7: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L8::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L8: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L9::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L9: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L10::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L10: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L11::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L11: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L12::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L12: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L13::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L13: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L14::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L14: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-15" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-15" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L7 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L8 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L9 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L10 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L11 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L12 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L13 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L14 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-14" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#269-272">source</a><a href="#method.layer-14" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13%2C%20L14%2C%20L15)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#276-301">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13%2C%20L14%2C%20L15)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14, L15&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14, L15)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L7::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L7: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L8::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L8: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L9::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L9: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L10::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L10: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L11::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L11: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L12::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L12: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L13::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L13: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L14::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L14: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L15::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L15: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-16" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-16" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L7 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L8 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L9 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L10 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L11 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L12 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L13 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L14 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L15 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-15" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#297-300">source</a><a href="#method.layer-15" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13%2C%20L14%2C%20L15%2C%20L16)" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#304-330">source</a><a href="#impl-Layer%3CS%3E-for-(L1%2C%20L2%2C%20L3%2C%20L4%2C%20L5%2C%20L6%2C%20L7%2C%20L8%2C%20L9%2C%20L10%2C%20L11%2C%20L12%2C%20L13%2C%20L14%2C%20L15%2C%20L16)" class="anchor"></a><h3 class="code-header">impl&lt;S, L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14, L15, L16&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14, L15, L16)</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;L1: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L2::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L2: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L3::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L3: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L4::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L4: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L5::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L5: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L6::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L6: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L7::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L7: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L8::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L8: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L9::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L9: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L10::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L10: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L11::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L11: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L12::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L12: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L13::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L13: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L14::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L14: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L15::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L15: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;L16::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;L16: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-17" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-17" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;L1 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L2 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L3 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L4 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L5 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L6 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L7 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L8 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L9 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L10 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L11 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L12 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L13 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L14 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L15 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;L16 as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-16" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/tuple.rs.html#326-329">source</a><a href="#method.layer-16" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, service: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-%26%27a%20T" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/lib.rs.html#103-112">source</a><a href="#impl-Layer%3CS%3E-for-%26%27a%20T" class="anchor"></a><h3 class="code-header">impl&lt;'a, T, S&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a </a>T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-18" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-18" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;T as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section><section id="method.layer-17" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/lib.rs.html#109-111">source</a><a href="#method.layer-17" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.layer" class="fnname">layer</a>(&amp;self, inner: S) -&gt; Self::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div id="implementors-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-LayerFn%3CF%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/layer_fn.rs.html#77-86">source</a><a href="#impl-Layer%3CS%3E-for-LayerFn%3CF%3E" class="anchor"></a><h3 class="code-header">impl&lt;F, S, Out&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="struct" href="struct.LayerFn.html" title="struct tower_layer::LayerFn">LayerFn</a>&lt;F&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(S) -&gt; Out,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-19" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-19" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = Out</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-Identity" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/identity.rs.html#25-31">source</a><a href="#impl-Layer%3CS%3E-for-Identity" class="anchor"></a><h3 class="code-header">impl&lt;S&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="struct" href="struct.Identity.html" title="struct tower_layer::Identity">Identity</a></h3></section></summary><div class="docblock"><p>Decorates a <a href="https://docs.rs/tower-service/latest/tower_service/trait.Service.html"><code>Service</code></a>, transforming either the request or the response.</p>
</div><div class="impl-items"><section id="associatedtype.Service-20" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-20" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = S</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Layer%3CS%3E-for-Stack%3CInner%2C%20Outer%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/tower_layer/stack.rs.html#18-30">source</a><a href="#impl-Layer%3CS%3E-for-Stack%3CInner%2C%20Outer%3E" class="anchor"></a><h3 class="code-header">impl&lt;S, Inner, Outer&gt; <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt; for <a class="struct" href="struct.Stack.html" title="struct tower_layer::Stack">Stack</a>&lt;Inner, Outer&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Inner: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;Outer: <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;Inner::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;,</span></h3></section></summary><div class="impl-items"><section id="associatedtype.Service-21" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Service-21" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Service" class="associatedtype">Service</a> = &lt;Outer as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;&lt;Inner as <a class="trait" href="trait.Layer.html" title="trait tower_layer::Layer">Layer</a>&lt;S&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a>&gt;&gt;::<a class="associatedtype" href="trait.Layer.html#associatedtype.Service" title="type tower_layer::Layer::Service">Service</a></h4></section></div></details></div><script src="../implementors/tower_layer/trait.Layer.js" data-ignore-extern-crates="std" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="tower_layer" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html>