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


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Qqwy" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Qqwy/120/1349_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Qqwy
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>TypeCheck Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://hex.pm/packages/type_check/0.10.7" rel="nofollow">Version 0.10.7</a> is released!</p>
<h2><a name="p-242781-fixes-1" class="anchor" href="#p-242781-fixes-1" aria-label="Heading link" rel="nofollow"></a>Fixes:</h2>
<ul>
<li>Ensure fixed-maps are checked for superfluous keys (c.f. <a href="https://github.com/Qqwy/elixir-type_check/pull/96" rel="noopener nofollow ugc">#96</a>). Thank you very much, <a class="mention" href="/u/patrikstenmark" rel="nofollow">@patrikstenmark</a> !</li>
</ul> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="242781" data-batch-url="/posts/batch_likers">
                        3
                      </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/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886/94">Post #93</a>
	                </div>
	            </div>
              <div id="likers-container-242781" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="242781"
                     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 #93"></div>
  </section>
</div>
    <div class="postbit" id="251708" data-post-id="251708">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Qqwy" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Qqwy/120/1349_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Qqwy
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>TypeCheck Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://hex.pm/packages/type_check/0.11.0" rel="nofollow">Version 0.11.0</a> has been released! <img src="https://forum.elixirforum.com/images/emoji/apple/rocket.png?v=15" title=":rocket:" class="emoji" alt=":rocket:" loading="lazy" width="20" height="20"></p>
<p>Wooh, this is a <em>big</em> release!</p>
<h1><a name="p-251708-most-important-features-1" class="anchor" href="#p-251708-most-important-features-1" aria-label="Heading link" rel="nofollow"></a>Most important features:</h1>
<ul>
<li>We now support all of Elixir’s builtin basic types! <img src="https://forum.elixirforum.com/images/emoji/apple/confetti_ball.png?v=15" title=":confetti_ball:" class="emoji" alt=":confetti_ball:" loading="lazy" width="20" height="20"></li>
<li>We now support all of the remote types of the Elixir standard library! <img src="https://forum.elixirforum.com/images/emoji/apple/partying_face.png?v=15" title=":partying_face:" class="emoji" alt=":partying_face:" loading="lazy" width="20" height="20"></li>
<li>Support for most of the map-type syntactic sugars. <img src="https://forum.elixirforum.com/images/emoji/apple/sunglasses.png?v=15" title=":sunglasses:" class="emoji" alt=":sunglasses:" loading="lazy" width="20" height="20"></li>
<li>An optional Credo check to enforce that all your functions have a spec. <img src="https://forum.elixirforum.com/images/emoji/apple/heavy_check_mark.png?v=15" title=":heavy_check_mark:" class="emoji" alt=":heavy_check_mark:" loading="lazy" width="20" height="20"></li>
</ul>
<h1><a name="p-251708-full-changelog-2" class="anchor" href="#p-251708-full-changelog-2" aria-label="Heading link" rel="nofollow"></a>Full changelog</h1>
<h2><a name="p-251708-additions-3" class="anchor" href="#p-251708-additions-3" aria-label="Heading link" rel="nofollow"></a>Additions</h2>
<ul>
<li>Support for fancier map syntaxes:
<ul>
<li><code>%{required(key_type) =&gt; value_type}</code> Maps with a single kind of required key-value type.</li>
<li><code>%{optional(key_type) =&gt; value_type}</code> Maps with a single kind of optional key-value type.</li>
<li><code>%{:some =&gt; a(), :fixed =&gt; b(), :keys =&gt; c(), optional(atom()) =&gt; any()}</code> Maps with any number of fixed keys and a single optional key-value type.</li>
<li>TypeCheck now supports nearly all kinds of map types that see use. Archaic combinations of optional and required are not supported, but also not very useful types in practice.</li>
<li>Because of this, the inspection of the builtin type <code>map(key, value)</code> has been changed to look the same as an optional map. <em>This is a minor backwards-incompatible change.</em></li>
</ul>
</li>
<li>Desugaring <code>%{}</code> has changed from ‘any map’ to ‘the empty map’ in line with Elixir’s Typespecs. <em>This is a minor backwards-incompatible change.</em></li>
<li>Support for the builtin types <code>port()</code>, <code>reference()</code> and (based on these) <code>identifier()</code>.</li>
<li>Support for the builtin type <code>struct()</code>.</li>
<li>Support for the builtin type <code>timeout()</code>.</li>
<li>Support for the builtin type <code>nonempty_charlist()</code> and <code>maybe_improper_list</code> and (based on these) <code>iolist()</code> and <code>iodata()</code>.</li>
<li>Adding types depending on these builtins to the default type overrides. <strong>We now support all modules of the full standard library!</strong></li>
<li><code>TypeCheck.Credo.Check.Readability.Specs</code>: an opt-in alternative Credo check which will check whether all functions have either a <code>@spec!</code> or ‘normal’ <code>@spec</code>. (Fixes <span class="hashtag-raw">#102</span>).</li>
</ul>
<h2><a name="p-251708-fixes-4" class="anchor" href="#p-251708-fixes-4" aria-label="Heading link" rel="nofollow"></a>Fixes</h2>
<ul>
<li>The <code>TypeCheck.Builtin</code> module is now actually spectested itself. Some consistency bugs were found and solved as a result.</li>
</ul>
<hr>
<p>We’re very near to a stable 1.0 release now.<br>
But that is not all: in the meantime, some great work is being done by <a class="mention" href="/u/orsinium" rel="nofollow">@orsinium</a> to increase interoptability with modules which are not part of your own codebase.<br>
In the near future (which will be part of the next release) we’ll be able to extract types from external modules and combine them with the ones explicitly written out using TypeCheck.<br>
Work on this is still in progress; there are some design choices to still be made. If you find this interesting or have opinions about it, please let us know!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="251708" data-batch-url="/posts/batch_likers">
                        20
                      </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/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886/95">Post #94</a>
	                </div>
	            </div>
              <div id="likers-container-251708" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="251708"
                     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 #94"></div>
  </section>
</div>
    <div class="postbit" id="251872" data-post-id="251872">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Wow, what a massive release! Basically, all green check marks here now… <a href="https://hexdocs.pm/type_check/comparing-typecheck-and-elixir-typespecs.html" class="inline-onebox" rel="noopener nofollow ugc">Comparison to Plain Typespecs — TypeCheck v0.13.7</a></p>
<p>Great work and thanks for pushing the typing options in the ecosystem forward.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="251872" data-batch-url="/posts/batch_likers">
                        6
                      </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/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886/96">Post #95</a>
	                </div>
	            </div>
              <div id="likers-container-251872" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="251872"
                     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 #95"></div>
  </section>
</div>
    <div class="postbit" id="252475" data-post-id="252475">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Qqwy" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Qqwy/120/1349_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Qqwy
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>TypeCheck Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://hex.pm/packages/type_check/0.12.0" rel="nofollow">Version 0.12.0</a> is released! <img src="https://forum.elixirforum.com/images/emoji/apple/rocket.png?v=15" title=":rocket:" class="emoji" alt=":rocket:" loading="lazy" width="20" height="20"></p>
<h2><a name="p-252475-additions-1" class="anchor" href="#p-252475-additions-1" aria-label="Heading link" rel="nofollow"></a>Additions:</h2>
<h3><a name="p-252475-per-dependency-configuration-2" class="anchor" href="#p-252475-per-dependency-configuration-2" aria-label="Heading link" rel="nofollow"></a>Per-dependency configuration</h3>
<p>The default options used are now fetched from the application configuration.<br>
This means that you can configure a default for your app as well as for each of your dependencies(!) by adding <code>config :app_name, :type_check [...]</code> to your configuration file(s).</p>
<p><em>(This configuration can then further be overridden per module, which was already possible in earlier versions.)</em></p>
<h2><a name="p-252475-building-types-and-checks-for-external-functions-3" class="anchor" href="#p-252475-building-types-and-checks-for-external-functions-3" aria-label="Heading link" rel="nofollow"></a>Building types and checks for external functions</h2>
<p>If you want to use types from modules outside of your control, until now you had to manually recreate them.<br>
Now, the <a href="https://hexdocs.pm/type_check/0.12.0/TypeCheck.External.html" rel="noopener nofollow ugc">TypeCheck.External</a> module allows fetching the ‘normal’ types and specs from a compiled module.<br>
Specifically:</p>
<ul>
<li>
<p><code>TypeCheck.External</code> module, with functions to work with typespecs in modules outside of your control.</p>
<ul>
<li><code>fetch_spec</code> to build a TypeCheck type from any function that has a <code>@spec</code>.</li>
<li><code>fetch_type</code> to build a TypeCheck type from any <code>@type</code>.</li>
<li><code>enforce_spec!</code> to wrap a call to any function that has a <code>@spec</code> with a runtime type-check on the input parameters and return value.</li>
<li><code>apply</code> and <code>apply!</code> to wrap a call to any function with the function spec type that you give it.</li>
</ul>
</li>
</ul>
<pre data-code-wrap="elixir"><code class="lang-elixir">iex&gt; TypeCheck.External.enforce_spec!(Kernel.abs(-13))
13
iex&gt; TypeCheck.External.enforce_spec!(Kernel.abs("hi"))
** (TypeCheck.TypeError) At lib/type_check/external.ex:175:
    `"hi"` is not a number.
</code></pre>
<p>This functionality is still very new, so we consider it to be a little experimental.<br>
In the near future, it might be integrated further with the rest of the library. For instance, we might add syntactic sugar to make ‘type overrides’ easier.</p>
<p>I want to take this opportunity to thank <a class="mention" href="/u/orsinium" rel="nofollow">@orsinium</a> greatly. Both the idea and the implementation of this functionality is his work! <img src="https://forum.elixirforum.com/images/emoji/apple/star_struck.png?v=15" title=":star_struck:" class="emoji" alt=":star_struck:" loading="lazy" width="20" height="20"></p>
<h2><a name="p-252475-defstruct-4" class="anchor" href="#p-252475-defstruct-4" aria-label="Heading link" rel="nofollow"></a>Defstruct!</h2>
<p><code>TypeCheck.Defstruct.defstruct!</code>, a way to combine <code>defstruct</code>, <code>@enforce_keys</code> and the creation of the struct’s type, reducing boilerplate and the possibility of mistakes. (c.f. <span class="hashtag-raw">#118</span> )</p>
<h3><a name="p-252475-example-5" class="anchor" href="#p-252475-example-5" aria-label="Heading link" rel="nofollow"></a>Example:</h3>
<pre data-code-wrap="elixir"><code class="lang-elixir">defmodule User do
  use TypeCheck
  use TypeCheck.Defstruct

  defstruct!(
    name: "Guest" :: String.t(),
    age: _ :: non_neg_integer()
  )
end
</code></pre>
<p>is syntactic sugar for:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">defmodule User do
  use TypeCheck
  use TypeCheck.Defstruct

  @type! t() :: %User{
    name: String.t(),
    age: non_neg_integer()
  }
  @enforce_keys [:age]
  defstruct [:age, name: "Guest"]
end
</code></pre>
<h2><a name="p-252475-fixes-6" class="anchor" href="#p-252475-fixes-6" aria-label="Heading link" rel="nofollow"></a>Fixes:</h2>
<ul>
<li>Long-standing issue where Dialyzer would sometimes complain in apps using TypeCheck is resolved. (c.f. <span class="hashtag-raw">#95</span>)</li>
<li>Creation of the new <code>maybe_nonempty_list</code> type will no longer get stuck in an infinite loop on creation. (c.f. <span class="hashtag-raw">#120</span>)</li>
</ul>
<hr>
<p>This new release is just in time for ElixirConf.EU <a href="https://www.elixirconf.eu/talks/typecheck-effortless-runtime-type-checking/" rel="noopener nofollow ugc">where I will be speaking about TypeCheck</a>. I look forward to see a lot of you there (live or virtually)!</p>
<p><em>Assuming they arrive on time, there will also be stickers <img src="https://forum.elixirforum.com/images/emoji/apple/blush.png?v=15" title=":blush:" class="emoji" alt=":blush:" loading="lazy" width="20" height="20"></em></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="252475" data-batch-url="/posts/batch_likers">
                        8
                      </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/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886/97">Post #96</a>
	                </div>
	            </div>
              <div id="likers-container-252475" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="252475"
                     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 #96"></div>
  </section>
</div>
    <div class="postbit" id="252533" data-post-id="252533">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Qqwy" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Qqwy/120/1349_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Qqwy
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>TypeCheck Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><img src="https://forum.elixirforum.com/images/emoji/apple/star_struck.png?v=15" title=":star_struck:" class="emoji only-emoji" alt=":star_struck:" loading="lazy" width="20" height="20"><br>
</p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/c/a/cae5b0ce2cebc5a8bd4ca4698171ff4ef23c25dc.jpeg" data-download-href="https://forum.elixirforum.com/uploads/default/cae5b0ce2cebc5a8bd4ca4698171ff4ef23c25dc" title="image" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/original/3X/c/a/cae5b0ce2cebc5a8bd4ca4698171ff4ef23c25dc.jpeg" alt="image" data-base62-sha1="sWUyEGeLMXJVMzcuUpnLqdSvGCU" width="690" height="389" data-dominant-color="635155"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">image</span><span class="informations">1200×677 54.1 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="252533" 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/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886/98">Post #97</a>
	                </div>
	            </div>
              <div id="likers-container-252533" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="252533"
                     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 #97"></div>
  </section>
</div>
    <div class="postbit" id="252962" data-post-id="252962">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Qqwy" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Qqwy/120/1349_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Qqwy
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>TypeCheck Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/5/9/595709cd9dab4dc2b0283dbeb9e533277c89595f.jpeg" data-download-href="https://forum.elixirforum.com/uploads/default/595709cd9dab4dc2b0283dbeb9e533277c89595f" title="WhatsApp Image 2022-06-11 at 8.20.29 AM" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/original/3X/5/9/595709cd9dab4dc2b0283dbeb9e533277c89595f.jpeg" alt="WhatsApp Image 2022-06-11 at 8.20.29 AM" data-base62-sha1="cKkYmldM3g37DlnZT6c8IswBv2f" width="690" height="517" data-dominant-color="707077"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">WhatsApp Image 2022-06-11 at 8.20.29 AM</span><span class="informations">1200×900 36.1 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p>
<p>ElixirConf.EU was a lot of fun!<br>
Being with such a nice group of cool, clever and excited people is a really great way to get new energy to continue any project.<br>
Many people asked questions and gave valuable feedback.</p>
<p>Thank you very much, everyone! <img src="https://forum.elixirforum.com/images/emoji/apple/partying_face.png?v=15" title=":partying_face:" class="emoji" alt=":partying_face:" loading="lazy" width="20" height="20"></p>
<p>(<em>For who was not there: A video recording of the talk will be released some time later in this year, once the organisers are ready to do so.</em>)</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="252962" data-batch-url="/posts/batch_likers">
                        16
                      </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/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886/99">Post #98</a>
	                </div>
	            </div>
              <div id="likers-container-252962" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="252962"
                     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 #98"></div>
  </section>
</div>
    <div class="postbit" id="252963" data-post-id="252963">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Congrats Marten,<br>
Looking forward to the releasing of the video recording.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="252963" data-batch-url="/posts/batch_likers">
                        1
                      </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/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886/100">Post #99</a>
	                </div>
	            </div>
              <div id="likers-container-252963" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="252963"
                     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 #99"></div>
  </section>
</div>
    <div class="postbit" id="253648" data-post-id="253648">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Been a fun group run to! Hope to do more in the future.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="253648" data-batch-url="/posts/batch_likers">
                        1
                      </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/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886/101">Post #100</a>
	                </div>
	            </div>
              <div id="likers-container-253648" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="253648"
                     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 #100"></div>
  </section>
</div>
    <div class="postbit" id="334856" data-post-id="334856">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Qqwy" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Qqwy/120/1349_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Qqwy
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>TypeCheck Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>FYI, currently TypeCheck does not work well with Elixir v1.17.</p>
<p>There is a change in how <code>...</code> is parsed in the Elixir AST from v1.16 to v1.17, which the TypeCheck library currently does not handle correctly, as it expects the older format.</p>
<p><a href="https://github.com/Qqwy/elixir-type_check/issues/190" rel="noopener nofollow ugc">GitHub issue here</a>.</p>
<p>Unfortunately, I’m on vacation until the start of August, so it might be a while for a fix to be implemented, unless someone is able to contribute a PR in the meantime.</p>
<p>I apologize for any inconvenience!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="334856" data-batch-url="/posts/batch_likers">
                        1
                      </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/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886/102">Post #101</a>
	                </div>
	            </div>
              <div id="likers-container-334856" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="334856"
                     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 #101"></div>
  </section>
</div>
    <div class="postbit" id="343440" data-post-id="343440">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Qqwy" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Qqwy/120/1349_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Qqwy
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>TypeCheck Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://hex.pm/packages/type_check/0.13.7" rel="nofollow">Version 0.13.7</a> has been released!</p>
<p>This release contains two important fixes:</p>
<ol>
<li>Support for Elixir v1.17. Sorry for the long wait. Thank you very much for your help here, <a class="mention" href="/u/skwerlman" rel="nofollow">@skwerlman</a>!</li>
<li>Map fields of types are printed in sort order (when inspecting the type and also in runtime type error messages), allowing the usage of TypeCheck in projects that target both OTP 25 (or below) and OTP 26/27 at the same time.</li>
</ol> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="343440" data-batch-url="/posts/batch_likers">
                        1
                      </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/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886/103">Post #102</a>
	                </div>
	            </div>
              <div id="likers-container-343440" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="343440"
                     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>