{"action":"created","issue":{"url":"https://api.github.com/repos/lambdaacademy/2015.12_erlang/issues/1","labels_url":"https://api.github.com/repos/lambdaacademy/2015.12_erlang/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/lambdaacademy/2015.12_erlang/issues/1/comments","events_url":"https://api.github.com/repos/lambdaacademy/2015.12_erlang/issues/1/events","html_url":"https://github.com/lambdaacademy/2015.12_erlang/pull/1","id":123945656,"number":1,"title":"tt_scheduler module","user":{"login":"Ugon","id":7150091,"avatar_url":"https://avatars.githubusercontent.com/u/7150091?v=3","gravatar_id":"","url":"https://api.github.com/users/Ugon","html_url":"https://github.com/Ugon","followers_url":"https://api.github.com/users/Ugon/followers","following_url":"https://api.github.com/users/Ugon/following{/other_user}","gists_url":"https://api.github.com/users/Ugon/gists{/gist_id}","starred_url":"https://api.github.com/users/Ugon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ugon/subscriptions","organizations_url":"https://api.github.com/users/Ugon/orgs","repos_url":"https://api.github.com/users/Ugon/repos","events_url":"https://api.github.com/users/Ugon/events{/privacy}","received_events_url":"https://api.github.com/users/Ugon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-12-26T19:54:53Z","updated_at":"2016-01-07T16:56:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/lambdaacademy/2015.12_erlang/pulls/1","html_url":"https://github.com/lambdaacademy/2015.12_erlang/pull/1","diff_url":"https://github.com/lambdaacademy/2015.12_erlang/pull/1.diff","patch_url":"https://github.com/lambdaacademy/2015.12_erlang/pull/1.patch"},"body":"@mentels please check this out. Is this what you had in mind for tt_scheduler module?"},"comment":{"url":"https://api.github.com/repos/lambdaacademy/2015.12_erlang/issues/comments/169727262","html_url":"https://github.com/lambdaacademy/2015.12_erlang/pull/1#issuecomment-169727262","issue_url":"https://api.github.com/repos/lambdaacademy/2015.12_erlang/issues/1","id":169727262,"user":{"login":"mentels","id":748608,"avatar_url":"https://avatars.githubusercontent.com/u/748608?v=3","gravatar_id":"","url":"https://api.github.com/users/mentels","html_url":"https://github.com/mentels","followers_url":"https://api.github.com/users/mentels/followers","following_url":"https://api.github.com/users/mentels/following{/other_user}","gists_url":"https://api.github.com/users/mentels/gists{/gist_id}","starred_url":"https://api.github.com/users/mentels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mentels/subscriptions","organizations_url":"https://api.github.com/users/mentels/orgs","repos_url":"https://api.github.com/users/mentels/repos","events_url":"https://api.github.com/users/mentels/events{/privacy}","received_events_url":"https://api.github.com/users/mentels/received_events","type":"User","site_admin":false},"created_at":"2016-01-07T16:56:19Z","updated_at":"2016-01-07T16:56:19Z","body":"@Ugon, when making dialyzer taking into account tests too, it detects breaking the contract of the `schedule/3` function. It outputs something like this:\r\n\r\n```\r\nprop_tt_scheduler.erl:25: The call tt_scheduler:schedule(Start::{{non_neg_integer(),1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12,1..255},{byte(),byte(),byte()}},Stop::{{non_neg_integer(),1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12,1..255},{byte(),byte(),byte()}},Interval::{byte(),byte(),byte()}) breaks the contract (reference(),calendar:datetime(),calendar:time()) -> atom()\r\n```\r\n\r\nTo achieve that I run:\r\n\r\n```shell\r\ndialyzer --plt  _build/test/rebar3_18.2.1_plt -r _build/test/lib/*/ebin _build/test/lib/talks_tweeter/test\r\n```\r\n\r\n... as I don't know how to make dialyzer use test/*.beam files when using rebar3."}}