marcandre

marcandre

Will Phoenix 1.16 require unique route helpers?

Trying phoenix 1.16-rc.0, I get a bunch of warnings in our router. I believe this is because many different routes have the same helper name. In phoenix 1.15 this was not issuing warnings. Is this a bug or a feature?

I’ll note that the warnings are not as clear as they could be:

warning: this clause for admin_account_path/3 cannot match because a previous clause at line 0 always matches
  lib/bobby_web/router.ex

warning: this clause for admin_account_url/3 cannot match because a previous clause at line 0 always matches
  lib/bobby_web/router.ex

warning: this clause for admin_beneficiary_path/3 cannot match because a previous clause at line 0 always matches
  lib/bobby_web/router.ex

warning: this clause for admin_beneficiary_url/3 cannot match because a previous clause at line 0 always matches
  lib/bobby_web/router.ex
[...]

Marked As Solved

josevalim

josevalim

Creator of Elixir

No! We have always allowed those and we have a heuristic to handle conflicts by compiling all clauses in a certain order. However, as the Elixir compiler gets smarter, we can now see those conflicts and warn. The fix is to change Phoenix to not emit those duplications, something I just pushed to master and v1.5 branches.

I just need to understand why the line information is 0. It should be at least the module line.

Also Liked

josevalim

josevalim

Creator of Elixir

It has been addressed. :slight_smile:

Where Next?

Popular in Questions Top

sergio
In Ruby, I can go: User.find_by(email: "foobar@email.com").update(email: "hello@email.com") How can I do something similar in Elixir? ...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New
earth10
Hi, I’m just starting to build a side-project with Elixir and Phoenix and doing some basic test with Elixir alone. What strikes me is th...
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New

Other popular topics Top

lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
chrismccord
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New

We're in Beta

About us Mission Statement