Skip to main content
SIFR-TYPE-0003 belongs to the Static typing diagnostic family. It means: if-expression or conditional branches have incompatible types.

Why It Happens

Static types do not line up. Align annotations, inferred expressions, branches, containers, operators, or generic constraints, and convert explicitly where needed.
Use sifr --explain SIFR-TYPE-0003 locally to see the renderer’s exact message template and any machine-applicable suggestions for the compiler version you are running.

Erroneous Code

How To Fix It

Make annotations, inferred values, branch results, container elements, and operator operands agree. Add explicit conversions where the conversion is meaningful.

Fixed Code

Details

See the Error Codes index for the complete catalog.