<div dir="ltr"><div class="gmail_extra"><div style="color:rgb(0,0,0);font-family:sans-serif">Hi Russell,</div><div style="color:rgb(0,0,0);font-family:sans-serif"><br></div><div style="color:rgb(0,0,0);font-family:sans-serif">From your original warning:</div><div style="color:rgb(0,0,0);font-family:sans-serif"><br></div><div class="gmail_quote">On Thu, Mar 30, 2017 at 9:04 AM, Russell Brown <span dir="ltr"><<a href="mailto:russell@wombat.me" target="_blank">russell@wombat.me</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-:c1" class="gmail-a3s gmail-aXjCH gmail-m15b1e077dd3f2298">riak_kv_vnode.erl:2695: Matching of pattern State = {'state', _, _, _, _, _, VId, _, _, _, _, _, _, _, _, _, _, _, _, _, {'counter_state', 'false', _, _, _, _}, _, _} tagged with a record name violates the declared type of #state{idx::'undefined' | integer(),mod::atom() | tuple(),async_put::'false' | 'true' | 'undefined',vnodeid::'<wbr>undefined' | binary(),delete_mode::'<wbr>immediate' | 'keep' | 'undefined' | pos_integer(),bucket_buf_size:<wbr>:'undefined' | pos_integer(),index_buf_size::<wbr>'undefined' | pos_integer(),key_buf_size::'<wbr>undefined' | pos_integer(),async_folding::'<wbr>false' | 'true' | 'undefined',in_handoff::<wbr>boolean(),handoff_target::<wbr>atom(),handoffs_rejected::<wbr>integer(),forward::atom() | [{integer(),atom()}],<wbr>hashtrees::'undefined' | pid(),upgrade_hashtree::<wbr>boolean(),md_cache::atom() | tid(),md_cache_size::'<wbr>undefined' | pos_integer(),counter::'<wbr>undefined' | #counter_state{use::'true',<wbr>cnt::non_neg_integer(),lease::<wbr>non_neg_integer(),lease_size::<wbr>non_neg_integer(),leasing::<wbr>boolean()},status_mgr_pid::'<wbr>undefined' | pid(),update_hook::atom() | tuple()}<br>
  riak_object:object/0</div></blockquote></div><br>my guess would be that in the definition of the #state record, the annotated #state.counter field's type is a #counter_state record whose #counter_state.use field annotated type is just the atom 'true'.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Can you send some context from that part of the module? (e.g. definition of #state and #counter_state records)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Best,</div><div class="gmail_extra"><br></div><div class="gmail_extra">Stavros</div></div>