Function Signature issue

I have a method with this signature

public struct function setVerificationToken(
	  required numeric userID
	, required numeric regID
	, required numeric threshold
	, required string  channel
	, required string  token
){

I miss typed this so the code looked like this:
notice the missing comma below.

public struct function setVerificationToken(
	  required numeric userID
	  required numeric regID
	, required numeric threshold
	, required string  channel
	, required string  token
){

No error was thrown but all of the arguments showed up offset by 1 starting at the regID.

yeah, that’s a bit of a mess, like cfparam, there are a lot of variations

look at how this this clusterfuck gets parsed

<cfscript>
public struct function setVerificationToken(
	  requirez numerica userID="zac"
	, required numerica threshold
	, required string  channel
	, required string  token
){
}

dump(setVerificationToken)
dump(getMetaData(setVerificationToken))
</cfscript>

That is strange. Thanks for the info.

Dunno if this is just yet another trycf quirk, but this crashes on both ACF 2023 and 2025, 2021 works

I wonder if it’s possibly useful/intended how Lucee apparently accepts compound/custom datatypes for function arguments, or if that is purely a flaw.