I was pushing an array of strings onto an array, which worked in the previous versions of qbs but doesn't work in 1.6. I think I'm using 1.6 since I'm on QtCreator 4.1? I know this is wrong, but instead of qbs handling gracefully, and qbs fails to parse my app's qbs files with the following error:
/Users/vpicaver/Qt/Qt Creator.app/Contents/Resources/qbs/share/qbs/modules/cpp/GenericGCC.qbs:218: error: Result of expression 'value[i].startsWith' [undefined] is not a function.
I was using the following cxxFlags that caused the problem.
        
cpp.cxxFlags: {
            var flags = [
                        "-stdlib=libc++", //Needed for protoc
                        "-Werror", //Treat warnings as errors
                    ];
            if(qbs.buildVariant == "debug") {
                flags.push(["-fsanitize=address",
                            "-fno-omit-frame-pointer"])
                console.error("Flags:" + JSON.stringify(flags));
            }
            return flags;
        }
GenericGCC.qbs assumes your passing string to it (so that startWidth() function is defined), but sometimes users aren't so smart... I think qbs should validate that all the inputs are the correct type and report to the user where their input's aren't.
| For Gerrit Dashboard: QBS-1013 | ||||||
|---|---|---|---|---|---|---|
| # | Subject | Branch | Project | Status | CR | V | 
| 169577,3 | Do not auto-convert values to property types | master | qbs/qbs | Status: MERGED | +2 | 0 |