benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

Hey folks!

I’ve got a branch in Absinthe that conditionally uses the :persisten_term module if it’s available. Unfortunately this is causing me issues with dialyzer, for reasons I can’t quite sort out. I’d like to do one of two things:

  1. Figure out why dialyzer things :persistent_term.put/2 is unavailable on OTP 21.2. This would be the best option.
  2. If that fails, mark the function as nowarn. I’ve tried this, but I can’t seem to get the invocation correct.

Branch: Persistent Term Backend by benwilson512 · Pull Request #895 · absinthe-graphql/absinthe · GitHub
Failing Travis job: Travis CI
Line where I try to tell dialyzer to ignore stuff: Persistent Term Backend by benwilson512 · Pull Request #895 · absinthe-graphql/absinthe · GitHub

Showing Posts 1 to 3

kip

kip

ex_cldr Core Team

Sometime in the past, for reasons I don’t recall (but I think i was heading down the same path as you) I added the following to my .dialyzer_ignore_warnings fie which seemed to quiet things down. Hope it helps make some progress.

:0: Unknown function persistent_term:get/2
:0: Unknown function persistent_term:put/2

I think this may also have been because of the @dialyzer issue you are having - i think I had the same but can’t fully recall.

benwilson512

benwilson512 OP

Author of Craft GraphQL APIs in Elixir with Absinthe

Hi @kip thanks for the suggestion. I added a file with those lines to that file and at first it didn’t work, but then switched it to using the Elixir formatted documented by dialyxir. This worked!

Commit: Persistent Term Backend by benwilson512 · Pull Request #895 · absinthe-graphql/absinthe · GitHub

Dialyxir format: GitHub - jeremyjh/dialyxir: Mix tasks to simplify use of Dialyzer in Elixir projects. · GitHub

I’d still like to sort out why dialyzer doesn’t think persistent_term.put exists for that version of Erlang though.

tristan

tristan

Rebar3 Core Team

We’ve now hit this issue in OpenTelemetry Fix dialyzer issues by davydog187 · Pull Request #82 · open-telemetry/opentelemetry-erlang-api · GitHub

But what is extra weird is that dialyzer has been working fine, no warnings about persistent_term:put/2. It is only now that Elixir’s dialyxer task has been added that its use of dialyzer warns about the function…

— All posts loaded —

Where Next? Top

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
Onor.io
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
jaybe78
Hello, I’m developing a online persistent chat system (what’s app) like using elixir/dynamodb/aws for a mobile app(flutter). The diffic...
New
Trolleger
What approach to take when sending live updates to “random” users Hi! I have a question, I have a little chat app, and when I create a DM...
New
widianto
I think I’ve found a small improvement I could contribute to <%= web_namespace %>.CoreComponents (installer/templates/phx_web/compo...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
aseigo
ICal is a library for interacting with iCalendar data. It parses iCalendars into typed Elixir structs via ICal.from_ics, and can prepare ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews