tracker issue : CF-3740241

select a category, or use search below
(searches all categories and all time range)

[ANeff] Bug for: invoke() overrides short-circuiting

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/Duplicate

Reporter/Name(from Bugbase): Aaron Neff / Aaron Neff (Aaron Neff)

Created: 04/10/2014

Components: Core Runtime

Versions: 11.0

Failure Type:

Found In Build/Fixed In Build: PublicBeta /

Priority/Frequency: Major / Some users will encounter

Locale/System: English / Win All

Vote Count: 1

Duplicate ID:	CF-3740276

invoke() overrides short-circuiting

Steps to reproduce:

  function bar() {return true;}

  //Example 1: returns no error (good!)
  if(structKeyExists(variables, "foo") and bar( {writeOutput(;}

  //Example 2: returns exception: Element FOO is undefined in VARIABLES (bad!)
  if(structKeyExists(variables, "foo") and invoke("", "bar", [])) {writeOutput(;}

Since structKeyExists(variables, "foo") returns false, the invoke() should never run (but it does).

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3740241

External Customer Info:
External Company:  
External Customer Name: itisdesign
External Customer Email:



Related thread:
Comment by External U.
12715 | April 10, 2014 02:59:59 AM GMT
Bloody hell: how can the usage of a specific function break how boolean expressions are executed?! -- Adam
Vote by External U.
12717 | April 10, 2014 03:20:20 AM GMT
I'm sorry: I misunderstood the issue. It is actually the implicit struct and array that overrides short-circuiting. I've created the correct ticket here: CF-3740276 I suppose this ticket CF-3740241 can be closed as a duplicate of CF-3740276. Thanks, -Aaron
Comment by External U.
12716 | April 10, 2014 03:42:53 AM GMT