gradient
gradient copied to clipboard
Gradient is a static typechecker for Elixir
I have the following code: ```elixir {dx, dy} = Matrex.size(matrix) elems = dx * dy ``` [`Matrex.size/1`]() has a spec of `size(matrex()) :: {index(), index()}` where `index()` is an alias...
Here is a reproducible example ```elixir @type failed() :: nonempty_improper_list(number(), number()) @spec foo() :: failed() def foo() do [2, 1 | 0] end ``` Ends up with the message ```bash...
Hello, I've been really enjoying using gradient, thank you for the work! I've encountered this error today when running `mix gradient` ```elixir (FunctionClauseError) no function clause matching in Gradient.ElixirExpr.pp_guards/1 The...
Code: ```elixir @type t :: %__MODULE__{ ..fields here } @doc false @spec new(map) :: t() def new(params) do struct!(__MODULE__, params) end ``` Error ```elixir The function call on line 44...
Tried to run on an existing project - it spits out a few warnings, then crashes. I get: ``` 11:35:33.717 [error] Unsupported guards format [{:call, [generated: true, location: 529], {:remote,...
The [Tesla](https://github.com/elixir-tesla/tesla) library is a common HTTP client for Elixir. Part of the setup for using Tesla involves declaring a module that looks like this: ```elixir defmodule MyHTTPClient do use...
I got these errors below when running `mix gradializer` on a project with ex_cldr. Is there anything I missed here? ```elixir ** (FunctionClauseError) no function clause matching in :gradualizer_lib.pick_value/2 The...
The [Tesla](https://github.com/elixir-tesla/tesla) library is a common HTTP client for Elixir. Part of the setup for using Tesla involves declaring a module that looks like this: ```elixir defmodule MyHTTPClient do use...
While it's great to have a `.gradient_ignore.exs` file where you can specify particular warnings to ignore, it would be awesome if you could do it with inline comments as well....
I'm having some trouble figuring out what the list of warnings I can ignore are. For example, when seeing a warning like this (which I believe was already reported elsewhere):...