Wrong gen_server:start{_link} argument name
Here and in all the gen_server:start and gen_server:start_link calls (four of them): https://gitlab.com/barrel-db/erlang-lru/blob/master/src/lru.erl#L78
The option is spawn_opt, NOT spawn_opts. So this results in both a Dialyzer error and LRU's "spawn_opts" option ends up being ineffective.