@@ -201,7 +201,7 @@ isshortdef(ex) = (@capture(ex, (fcall_ = body_)) &&
201201
202202function longdef1 (ex)
203203 if @capture (ex, (arg_ -> body_))
204- @q function ($ arg,) $ body end
204+ @q function ($ arg,) $ ( body. args ... ) end
205205 elseif isshortdef (ex)
206206 @assert @capture (ex, (fcall_ = body_))
207207 striplines (Expr (:function , fcall, body))
@@ -213,12 +213,13 @@ longdef(ex) = prewalk(longdef1, ex)
213213
214214function shortdef1 (ex)
215215 @match ex begin
216- function f_ (args__) body_ end => @q $ f ($ (args... )) = $ body
217- function f_ (args__) where T__ body_ end => @q $ f ($ (args... )) where $ (T... ) = $ body
218- function f_ (args__):: rtype_ body_ end => @q $ f ($ (args... )):: $rtype = $ body
219- function (args__,) body_ end => @q ($ (args... ),) -> $ body
216+ function f_ (args__) body_ end => @q $ f ($ (args... )) = $ (body. args... )
217+ function f_ (args__) where T__ body_ end => @q $ f ($ (args... )) where $ (T... ) = $ (body. args... )
218+ function f_ (args__):: rtype_ body_ end => @q $ f ($ (args... )):: $rtype = $ (body. args... )
219+ function f_ (args__):: rtype_ where T__ body_ end => @q ($ f ($ (args... )):: $rtype ) where $ (T... ) = $ (body. args... )
220+ function (args__,) body_ end => @q ($ (args... ),) -> $ (body. args... )
220221 ((args__,) -> body_) => ex
221- (arg_ -> body_) => @q ($ arg,) -> $ body
222+ (arg_ -> body_) => @q ($ arg,) -> $ ( body. args ... )
222223 _ => ex
223224 end
224225end
0 commit comments