{"action":"closed","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/15254","repository_url":"https://api.github.com/repos/JuliaLang/julia","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/15254/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/15254/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/15254/events","html_url":"https://github.com/JuliaLang/julia/issues/15254","id":136715556,"number":15254,"title":"Mixing arguments and optional arguments","user":{"login":"omus","id":1675958,"avatar_url":"https://avatars.githubusercontent.com/u/1675958?v=3","gravatar_id":"","url":"https://api.github.com/users/omus","html_url":"https://github.com/omus","followers_url":"https://api.github.com/users/omus/followers","following_url":"https://api.github.com/users/omus/following{/other_user}","gists_url":"https://api.github.com/users/omus/gists{/gist_id}","starred_url":"https://api.github.com/users/omus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/omus/subscriptions","organizations_url":"https://api.github.com/users/omus/orgs","repos_url":"https://api.github.com/users/omus/repos","events_url":"https://api.github.com/users/omus/events{/privacy}","received_events_url":"https://api.github.com/users/omus/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-02-26T14:39:36Z","updated_at":"2016-02-29T21:09:34Z","closed_at":"2016-02-29T21:09:34Z","body":"I've been adding some convenience methods to TimeZones.jl and I found myself wanting to write the function:\r\n\r\n```julia\r\nZonedDateTime(y::Integer, m::Integer=1, d::Integer=1, h::Integer=0, mi::Integer=0, s::Integer=0, ms::Integer=0, tz::TimeZone)\r\n```\r\nUnfortunately, this doesn't work as optional arguments need be last. My alternative at the moment is to have:\r\n```julia\r\nZonedDateTime(y::Integer, m::Integer, d::Integer, h::Integer, mi::Integer, s::Integer, ms::Integer, tz::TimeZone)\r\nZonedDateTime(y::Integer, m::Integer, d::Integer, h::Integer, mi::Integer, s::Integer, tz::TimeZone) = ZonedDateTime(y,m,d,h,mi,s,0,tz)\r\nZonedDateTime(y::Integer, m::Integer, d::Integer, h::Integer, mi::Integer, tz::TimeZone) = ZonedDateTime(y,m,d,h,mi,0,0,tz)\r\nZonedDateTime(y::Integer, m::Integer, d::Integer, h::Integer, tz::TimeZone) = ZonedDateTime(y,m,d,h,0,0,0,tz)\r\nZonedDateTime(y::Integer, m::Integer, d::Integer, tz::TimeZone) = ZonedDateTime(y,m,d,0,0,0,0,tz)\r\nZonedDateTime(y::Integer, m::Integer, tz::TimeZone) = ZonedDateTime(y,m,1,0,0,0,0,tz)\r\nZonedDateTime(y::Integer, tz::TimeZone) = ZonedDateTime(y,1,1,0,0,0,0,tz)\r\n```\r\nWould it be possible to allow optional arguments mixed in with required arguments?\r\n"}}