{"action":"opened","issue":{"url":"https://api.github.com/repos/include-what-you-use/include-what-you-use/issues/244","labels_url":"https://api.github.com/repos/include-what-you-use/include-what-you-use/issues/244/labels{/name}","comments_url":"https://api.github.com/repos/include-what-you-use/include-what-you-use/issues/244/comments","events_url":"https://api.github.com/repos/include-what-you-use/include-what-you-use/issues/244/events","html_url":"https://github.com/include-what-you-use/include-what-you-use/issues/244","id":122900874,"number":244,"title":"IWYU requires you to include header files for enums but there's no way you can't have included it ","user":{"login":"ThosRTanner","id":1793047,"avatar_url":"https://avatars.githubusercontent.com/u/1793047?v=3","gravatar_id":"","url":"https://api.github.com/users/ThosRTanner","html_url":"https://github.com/ThosRTanner","followers_url":"https://api.github.com/users/ThosRTanner/followers","following_url":"https://api.github.com/users/ThosRTanner/following{/other_user}","gists_url":"https://api.github.com/users/ThosRTanner/gists{/gist_id}","starred_url":"https://api.github.com/users/ThosRTanner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ThosRTanner/subscriptions","organizations_url":"https://api.github.com/users/ThosRTanner/orgs","repos_url":"https://api.github.com/users/ThosRTanner/repos","events_url":"https://api.github.com/users/ThosRTanner/events{/privacy}","received_events_url":"https://api.github.com/users/ThosRTanner/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-18T08:00:40Z","updated_at":"2015-12-18T08:00:40Z","closed_at":null,"body":"For instance, with QT, you have\r\n\r\n    QFile::open(QIODevice::some flag)\r\n\r\nBecause this parameter is an enum and enums can't be forward declared, then the include has to be there for QFile::open to be declared.\r\n\r\nSo when in your code you then do\r\n\r\n    QFile file(\"xxx\");\r\n    file.open(QIODevice::Read)\r\n\r\ninclude what you use says you are missing `#include <QIODevice>`.\r\n\r\nBut it has to be implicitly available because of the way open is declared."}}