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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Resurrecting an old topic, oops!</p>
<p>I generally like <code>dialyzer</code>/<code>dialyxir</code>, especially when you can start a project with them from the beginning.</p>
<p>However, adding it mid-project for a large Elixir service is a major pain, especially when it comes to CI.</p>
<p>I’d love to be able to do something like:</p>
<div class="youtube-onebox lazy-video-container" data-video-id="4PZE40h13wM" data-video-title="Slaying the Type Hydra, or How We Went (...) to None | Jesper Eskilson | Code BEAM Europe 2022" data-video-start-time="" data-provider-name="youtube">
  <a href="https://www.youtube.com/watch?v=4PZE40h13wM" target="_blank" class="video-thumbnail" rel="noopener nofollow ugc">
    <img class="youtube-thumbnail" src="https://i.ytimg.com/vi/4PZE40h13wM/hqdefault.jpg" title="Slaying the Type Hydra, or How We Went (...) to None | Jesper Eskilson | Code BEAM Europe 2022" width="480" height="360">
  </a>
</div>

<p>To that end, I made a GitHub issue to ask for ideas on this subject:</p>
<p><a href="https://github.com/jeremyjh/dialyxir/issues/486" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/jeremyjh/dialyxir/issues/486</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="283373" 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/do-you-use-dialyzer-in-your-projects/47800/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-283373" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="283373"
                     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="283469" data-post-id="283469">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="LostKobrakai" data-post="5" data-topic="47800" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lostkobrakai/48/3072_2.png" class="avatar"> LostKobrakai:</div>
<blockquote>
<p>I find dialyzer to work well for projects, which are deployed. I tend to not like it for libraries, which don’t really use their code, because that usually means dialyzer doesn’t find half of the issues.</p>
</blockquote>
</aside>
<p>If I had to pick I’d prefer writing specs for libraries, personally. Partially because it provides guidance for usage in <code>ex_doc</code>, and partially because the more that libraries do, the more value that spec-less applications can get from dialyzer via inference without writing a single spec, to make sure that library/framework dependency calls in your application are flowing the right input/output types to each other.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="283469" 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/do-you-use-dialyzer-in-your-projects/47800/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-283469" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="283469"
                     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="283478" data-post-id="283478">
  <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>Just to clarify:</p>
<p>I think you’re right about type specs. They’re more valuable in libraries. But my comment was about <code>dialyzer</code>, which for libraries (aka in isolation) often has a hard time finding incorrect specs. Those incorrect specs will then surface in projects using those libraries being plagued by dialyzer errors, where in the worst case neither the users code, nor the library code is technically incorrect, everything works, but dialyzer complains. And dialyzer might even point to the users code for the warning instead of correctly identifying the incorrect typespec in the library.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="283478" 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/do-you-use-dialyzer-in-your-projects/47800/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-283478" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="283478"
                     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="283552" data-post-id="283552">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Mostalive" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Mostalive
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I don’t think I’m using Dialyzer, just learning. I like types when they were made for the language. Bolt-on typecheckers often have the kind of holes you just descripted. The only one that sort of worked for me so far was typescript. And same as some others described for elixir type solutions above, adding that to an existing code base is non-trivial.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="283552" 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/do-you-use-dialyzer-in-your-projects/47800/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-283552" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="283552"
                     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>