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:
Figure out why dialyzer things :persistent_term.put/2 is unavailable on OTP 21.2. This would be the best option.
If that fails, mark the function as nowarn. I’ve tried this, but I can’t seem to get the invocation correct.
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.
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!
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…