<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="375705" data-post-id="375705">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="LostKobrakai" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/LostKobrakai/120/3072_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  LostKobrakai
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>See <a href="https://github.com/elixir-lang/elixir/issues/14829" class="inline-onebox" rel="nofollow">Macro.escape/2 doesn't honor :unquote option inside maps on 1.19rc · Issue #14829 · elixir-lang/elixir · GitHub</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375705" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-v1-19-0-rc-2-released/72805/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-375705" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375705"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #22"></div>
  </section>
</div>
    <div class="postbit" id="375717" data-post-id="375717">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jgwmaxwell" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jgwmaxwell/120/16872_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jgwmaxwell
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Sorry - should have seen that. Thanks for the link.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375717" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-v1-19-0-rc-2-released/72805/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-375717" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375717"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #23"></div>
  </section>
</div>
    <div class="postbit" id="375749" data-post-id="375749">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="PragTob" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/PragTob/120/2401_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  PragTob
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><img src="https://forum.elixirforum.com/images/emoji/apple/waving_hand.png?v=15" title=":waving_hand:" class="emoji only-emoji" alt=":waving_hand:" loading="lazy" width="20" height="20"></p>
<p>Thank you for your hard work! <img src="https://forum.elixirforum.com/images/emoji/apple/green_heart.png?v=15" title=":green_heart:" class="emoji" alt=":green_heart:" loading="lazy" width="20" height="20"></p>
<p>Benchee updates were <a href="https://github.com/bencheeorg/benchee/pull/477" rel="noopener nofollow ugc">easier than expected</a> (while I use the syntax a lot in benchee)… and surely I’ll finally manage to do a release soon ™ so no one will be annoyed <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_smile:" loading="lazy" width="20" height="20"></p>
<p>Most importantly <code>credo</code> was broken for me, but updating to github fixed it so will open an issue asking for a release <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"> (edit: issue: <a href="https://github.com/rrrene/credo/issues/1221" class="inline-onebox" rel="noopener nofollow ugc">New release soon for 1.19 compatibility? · Issue #1221 · rrrene/credo · GitHub</a>)</p>
<p>I’m also not sure if I just overdid it with the struct update syntax in benchee (the answer is probably yes) but this updated didn’t feel good to make:</p>
<p>(added all the struct type matches in the <code>fn</code>, tried to do them in a separate match before usage to lessen the pain but that wasn’t accepted as I needed to do them directly on declaration)</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">    |&gt; Enum.map(fn {%Scenario{
                      run_time_data: %CollectionData{},
                      memory_usage_data: %CollectionData{},
                      reductions_data: %CollectionData{}
                    } = scenario, {run_time_stats, memory_stats, reductions_stats}} -&gt;
      %Scenario{
        scenario
        | run_time_data: %CollectionData{
            scenario.run_time_data
            | statistics: run_time_stats
          },
          memory_usage_data: %CollectionData{
            scenario.memory_usage_data
            | statistics: memory_stats
          },
          reductions_data: %CollectionData{
            scenario.reductions_data
            | statistics: reductions_stats
          }
      }
    end)
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375749" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-v1-19-0-rc-2-released/72805/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-375749" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375749"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #24"></div>
  </section>
</div>
    <div class="postbit" id="375784" data-post-id="375784">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Eiji" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Eiji/120/36743_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Eiji
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="PragTob" data-post="25" data-topic="72805">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/pragtob/48/2401_2.png" class="avatar"> PragTob:</div>
<blockquote>
<pre data-code-wrap="elixir"><code class="lang-elixir">    |&gt; Enum.map(fn {%Scenario{
                      run_time_data: %CollectionData{},
                      memory_usage_data: %CollectionData{},
                      reductions_data: %CollectionData{}
                    } = scenario, {run_time_stats, memory_stats, reductions_stats}} -&gt;
      %Scenario{
        scenario
        | run_time_data: %CollectionData{
            scenario.run_time_data
            | statistics: run_time_stats
          },
          memory_usage_data: %CollectionData{
            scenario.memory_usage_data
            | statistics: memory_stats
          },
          reductions_data: %CollectionData{
            scenario.reductions_data
            | statistics: reductions_stats
          }
      }
    end)
</code></pre>
</blockquote>
</aside>
<p>How about:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">  []
  |&gt; Enum.map(fn {scenario, {run_time_stats, memory_stats, reductions_stats}} -&gt;
    scenario
    |&gt; put_in([Access.key(:memory_usage_data), Access.key(:statistics)], memory_stats)
    |&gt; put_in([Access.key(:reductions_data), Access.key(:statistics)], reductions_stats)
    |&gt; put_in([Access.key(:run_time_data), Access.key(:statistics)], run_time_stats)
  end)
</code></pre>
<p>I really like making code short, explicit and clean at the same time. I believe it’s clear enough without pattern matching on struct, but if you really think it’s still needed then you can simply add a <code>%Scenario{} = </code> before <code>scenario</code> variable in the anonymous function.</p>
<p>In my opinion all you need for this code is a good typespec, so the tools can verify that we are not working on “any” map, but on the <code>scenario</code> struct instead. If the <code>Scenario.t/0</code> type instructs that all 3 keys are <code>CollectionData</code> struct then I don’t think that you really need to pattern match on each of them separately. What do you think about it?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375784" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-v1-19-0-rc-2-released/72805/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-375784" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375784"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #25"></div>
  </section>
</div>
    <div class="postbit" id="375792" data-post-id="375792">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="PragTob" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/PragTob/120/2401_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  PragTob
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><img src="https://forum.elixirforum.com/images/emoji/apple/waving_hand.png?v=15" title=":waving_hand:" class="emoji only-emoji" alt=":waving_hand:" loading="lazy" width="20" height="20"></p>
<p>Thanks for the idea!</p>
<p>Well, my trust in dialyzer and type specs isn’t very high. I’ve seen <em>many</em> places where I was convinced it should find a bug but it doesn’t. I can try it out but my expectation is it wouldn’t notice a typo in a key here in that form or any other. Hence I preferred to use the struct update syntax to fail as early as possible (iirc compile time) if the key was somehow spelled incorrectly. In the end it probably wouldn’t matter as the tests would fail, but that’s a couple of steps later <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>For similar reasons I’d probably also use <code>Access.key!/1</code> when going with this approach - I like to raise when it’s basically a basic expectation of my system that the key is there. Hence, I’m also a big <code>Map.fetch!/2</code> fan <img src="https://forum.elixirforum.com/images/emoji/apple/grin.png?v=15" title=":grin:" class="emoji" alt=":grin:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375792" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-v1-19-0-rc-2-released/72805/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-375792" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375792"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #26"></div>
  </section>
</div>
    <div class="postbit" id="375843" data-post-id="375843">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="idyll" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/idyll/120/39238_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  idyll
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>So I’ve rolled this out to some test infrastructure and I’ve noticed that <code>:iex</code> is no longer started by default and I need to add it to <code>extra_applications</code> in order to remote in…</p>
<p><code>def application do</code><br>
<code>  [</code><br>
<code>   mod: {Example.Application,</code><span class="chcklst-box fa fa-square-o"></span><code>},</code><br>
<code>    extra_applications: [:iex, :logger, :runtime_tools]</code><br>
<code>  ]</code><br>
<code>end</code></p>
<p>^^^ as in this change is required in <code>mix.exs</code> or I can’t remote in via:</p>
<p><code>./bin/example remote</code></p>
<p>Not sure if this is intentional and I’ve only tried this on rc2.</p>
<p>The error looked like this:</p>
<p><code>19:20:21.400 [error] :gen_statem #PID&lt;0.93.0&gt; terminating</code><br>
<code>** (ArgumentError) could not fetch application environment :parser for application :iex because the application was not loaded nor configured</code></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375843" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-v1-19-0-rc-2-released/72805/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-375843" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375843"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #27"></div>
  </section>
</div>
    <div class="postbit" id="375860" data-post-id="375860">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="josevalim" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/josevalim/120/1787_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  josevalim
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Perfect timing, we were just about to release it. Fixed!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375860" data-batch-url="/posts/batch_likers">
                        7
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-v1-19-0-rc-2-released/72805/29">Post #28</a>
	                </div>
	            </div>
              <div id="likers-container-375860" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375860"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #28"></div>
  </section>
</div>
    <div class="postbit" id="375964" data-post-id="375964">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="joshknz" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/joshknz/120/24117_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  joshknz
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Sorry for not replying earlier. I’ll open an issue with the dialyzer output and go from there.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375964" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/elixir-v1-19-0-rc-2-released/72805/31">Post #30</a>
	                </div>
	            </div>
              <div id="likers-container-375964" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375964"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>