{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/7906","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/7906/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/7906/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/7906/events","html_url":"https://github.com/JuliaLang/julia/pull/7906","id":39781114,"number":7906,"title":"Make by-value struct passing work properly","user":{"login":"vtjnash","id":330950,"avatar_url":"https://avatars.githubusercontent.com/u/330950?v=3","gravatar_id":"","url":"https://api.github.com/users/vtjnash","html_url":"https://github.com/vtjnash","followers_url":"https://api.github.com/users/vtjnash/followers","following_url":"https://api.github.com/users/vtjnash/following{/other_user}","gists_url":"https://api.github.com/users/vtjnash/gists{/gist_id}","starred_url":"https://api.github.com/users/vtjnash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vtjnash/subscriptions","organizations_url":"https://api.github.com/users/vtjnash/orgs","repos_url":"https://api.github.com/users/vtjnash/repos","events_url":"https://api.github.com/users/vtjnash/events{/privacy}","received_events_url":"https://api.github.com/users/vtjnash/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/JuliaLang/julia/milestones/11","html_url":"https://github.com/JuliaLang/julia/milestones/0.4.0","labels_url":"https://api.github.com/repos/JuliaLang/julia/milestones/11/labels","id":748886,"number":11,"title":"0.4.0","description":"For tracking release-defining items for 0.4: important new features, breaking changes, and blocking bugs.\r\n\r\nAfter a brief period for deciding scope, adding issues to this milestone is not allowed. Once the items in this milestone are done, 0.4 will enter its stabilizing period and a release candidate can be made soon after.","creator":{"login":"JeffBezanson","id":744556,"avatar_url":"https://avatars.githubusercontent.com/u/744556?v=3","gravatar_id":"","url":"https://api.github.com/users/JeffBezanson","html_url":"https://github.com/JeffBezanson","followers_url":"https://api.github.com/users/JeffBezanson/followers","following_url":"https://api.github.com/users/JeffBezanson/following{/other_user}","gists_url":"https://api.github.com/users/JeffBezanson/gists{/gist_id}","starred_url":"https://api.github.com/users/JeffBezanson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JeffBezanson/subscriptions","organizations_url":"https://api.github.com/users/JeffBezanson/orgs","repos_url":"https://api.github.com/users/JeffBezanson/repos","events_url":"https://api.github.com/users/JeffBezanson/events{/privacy}","received_events_url":"https://api.github.com/users/JeffBezanson/received_events","type":"User","site_admin":false},"open_issues":29,"closed_issues":28,"state":"open","created_at":"2014-08-10T18:13:46Z","updated_at":"2015-03-31T08:28:08Z","due_on":"2015-06-20T18:30:00Z","closed_at":null},"comments":31,"created_at":"2014-08-08T00:13:59Z","updated_at":"2015-03-31T17:16:43Z","closed_at":"2015-03-10T02:22:00Z","pull_request":{"url":"https://api.github.com/repos/JuliaLang/julia/pulls/7906","html_url":"https://github.com/JuliaLang/julia/pull/7906","diff_url":"https://github.com/JuliaLang/julia/pull/7906.diff","patch_url":"https://github.com/JuliaLang/julia/pull/7906.patch"},"body":"this is ~~a first cut at~~ (done) ~~rebasing #3466 onto master~~ (also done) ready-to-merge patch to improve ccall/cfunction compatibility. @Keno let me know if you see anything that looks wrong.\r\n\r\n - [x] linux 32 (http://www.uclibc.org/docs/psABI-i386.pdf)\r\n - [x] linux 64 (http://www.uclibc.org/docs/psABI-x86_64.pdf)\r\n - [x] mac 64 (same as linux 64)\r\n - [x] win 32 (https://msdn.microsoft.com/en-us/library/984x0h58.aspx)\r\n - [x] win 64 (https://msdn.microsoft.com/en-us/library/zthk2dkh.aspx)\r\n\r\nTo keep track of issues (from comments) from the previous PR:\r\n\r\n - [x] Need to add link to LDC\r\n - [x] ~~Need to figure out what to do with fixed-size arrays.~~ (will be done later)\r\n - [x] merge the Mutable module from Gtk into base (#9986)\r\n - [x] implement https://gist.github.com/vtjnash/7296634 ~~(only cfunction updates remain)~~\r\n - [x] build libccalltest on travis\r\n - [x] update documentation on ccall/cfunction in manual\r\n - [x] add documentation for Ref type to stdlib\r\n - [x] more tests for cfunction/ccall/Ref interactions\r\n - [x] use unsafe_load in cfunction when receiving isbits types\r\n - [x] update docs again. add docs for cconvert / unsafe_convert\r\n - [x] add notes to NEWS and email to julia-users list\r\n\r\nfuture work:\r\n - [ ] calling conventions for cfunction\r\n - [x] #2818 (types as c-structs)\r\n - [ ] emit cfunction stubs for any `jl_apply_generic` call (possible sketch of implementation : https://gist.github.com/vtjnash/019b4d5d63b64a772a31)\r\n - [ ] more completely use tuples to emulate more stuff, like fixed size arrays\r\n - [ ] change `cfunction(f, T, ...)` to automatically call `convert(T, ...)::T` on the return value of `f`.\r\n - [ ] add `convert(::Type{T}, x::Ref{T})` method\r\n - [ ] hide the typetag\r\n\r\n~~NOTE: please DO NOT merge this until the cfunction API changes are finalized. (i don't want to need to update Gtk.jl twice)~~"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/88176326","html_url":"https://github.com/JuliaLang/julia/pull/7906#issuecomment-88176326","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/7906","id":88176326,"user":{"login":"pao","id":140497,"avatar_url":"https://avatars.githubusercontent.com/u/140497?v=3","gravatar_id":"","url":"https://api.github.com/users/pao","html_url":"https://github.com/pao","followers_url":"https://api.github.com/users/pao/followers","following_url":"https://api.github.com/users/pao/following{/other_user}","gists_url":"https://api.github.com/users/pao/gists{/gist_id}","starred_url":"https://api.github.com/users/pao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pao/subscriptions","organizations_url":"https://api.github.com/users/pao/orgs","repos_url":"https://api.github.com/users/pao/repos","events_url":"https://api.github.com/users/pao/events{/privacy}","received_events_url":"https://api.github.com/users/pao/received_events","type":"User","site_admin":false},"created_at":"2015-03-31T17:16:43Z","updated_at":"2015-03-31T17:16:43Z","body":"@zenna fixed in 36ccc5b9e2cfd34b5bb702e4de9441b2fa63a1d6; thanks!"}}