Christopher, > On 11. 4. 2025, at 15:55, Christopher Smith <chrylis+gro...@gmail.com> wrote: > I personally find it surprising and confusing that arguments are implicitly > collected in method calls; I recently was baffled until I realized that the > Map as a first argument was causing Groovy to group the leading arguments.
I am not sure what this means. What is a “leading argument”? Can you please show an example? With my testing, nothing is grouped (unless one uses named arguments, which of course go into that Map): === 1052 ocs /tmp> <q.groovy def foo(Map m=null, a, b, c) { println "m:$m a:$a b:$b c:$c" } foo('Hi', 'there', '!') 1053 ocs /tmp> /usr/local/groovy-4.0.25/bin/groovy q m:null a:Hi b:there c:! 1054 ocs /tmp> === > I appreciate Groovy's syntactic sugar for clear cases (such as trailing > lambdas), but I would rather not have arguments collected if the signature > isn't varargs. Unless you limit your code by CompileStatic, that's technically impossible, since normally caller does not (need to) know the signature of the receiver until actually called. All the best, OC > On Fri, Apr 11, 2025, 05:22 Paul King <pa...@asert.com.au > <mailto:pa...@asert.com.au>> wrote: > I think it is just the case that Java supports only a single value or > array notation, so that's what we did too (just adapting to Groovy > array/list notation). > > We have certainly had folks ask if we could also support the curly > brace syntax but that clashes with a closure. > > It would be interesting to see whether it is a simple or ugly change > at the grammar/early parsing level. > > Cheers, Paul. > > On Fri, Apr 11, 2025 at 7:19 PM Gianluca Sartori <g.sart...@gmail.com > <mailto:g.sart...@gmail.com>> wrote: > > > > Hi folks, > > > > we use the following well known annotation in our Grails controllers: > > > > @Secured(['ROLE_USER', 'ROLE_OTHER']) > > > > I was wondering why we cannot write this instead: > > > > @Secured('ROLE_USER', 'ROLE_OTHER') > > > > like in method calls. > > > > To your knowledge is that a Groovy thing or it lies somewhere else? > > > > Cheers, > > Gianluca Sartori > >