TL; DR: вы не можете подавить это предупреждение, потому что вы не должны перекрестно нарушать поведение. OTOH, это всего лишь соглашение, и код, вероятно, будет работать успешно, несмотря на предупреждение.
Это, безусловно, проблема XY . Во-первых, вы должны явно указать компилятору, что handle_info/2
- это реализация:
@impl GenServer # or @impl true
def handle_info(_, state), do: {:noreply, state}
Во-вторых, заявленный дизайн, даже если он приветствуется и не выдает никаких предупреждений, нарушает SRP .
Что вам, вероятно, следует сделать, - это дерево надзора с супервизором, управляющим двумя работниками: один для Raxx.SimpleServer
, а другой для GenServer
. Когда требуется взаимодействие, вы должны передать сообщение соответствующему процессу.