Symbol Not Found Error - could the compiler have warned me?

A few days ago I uploaded a new version with a new feature, and today I saw a few new errors in ERA:

Error Name: Symbol Not Found Error
Occurrences: 3
First Occurrence: 2024-07-18
Last Occurrence: 2024-07-18
Devices:
Forerunner® 245: 13.00
App Versions: 2.5.0.3
Languages: dut
Backtrace:
ExtHRMField.compute:1222

I was able to reproduce it in the simulator, and then I realized what't the problem:

    hidden function showAlertView() as Void {
        if (DataField has :showAlert) { // api 3.2.0
            alertView = new HrAlertView(self, heartRate, alertLowHR, alertHighHR, getBackgroundColor(), 10);
            if (getCurrentView()[0] != alertView) {
                try {
                    DataField.showAlert(alertView);
                } catch (e) {
                    if (LOG) {
                        log("showAlert FAILED: " + e.getErrorMessage());
                    }
                }
            }
        }
    }

In the simulator I noticed that fr245 has CIQ 3.3.1, but WatchUi.getCurrentView is only since 3.4.0 and my minApiLevel is 1.2.0. So it is clearly my bug.

However: couldn't the compiler warn me? After I understood what happened I thought it might be possible for it to give a warning, because in the compiler.json it's clear that 3.3.1 is the highest connectIQVersion (out of the partNumbers included in the json). If I remember correctly, then if I would set the minApiLevel in the manifest for 3.3.0, then I would still see fr245 as a device, but when compiling for it (or exporting project probably) then it would give a warning that 2 out of the 3 partNumbers have lower CIQ version and this are excluded from the build. This is great!

  could we have based on the same information a warning when a function/constant/.... that is not available in the CIQ provided by the partNumber is used without using a has check? Should I open a feature-request about it?