Skip to content
Prev Previous commit
Next Next commit
Disable CheckInlineValueIsComplete for Fable (#10)
  • Loading branch information
alfonsogarciacaro authored and ncave committed Nov 21, 2025
commit b1e57a9b0d844f6f25c521d5f6b701637d2842f4
8 changes: 8 additions & 0 deletions src/Compiler/Optimize/Optimizer.fs
Original file line number Diff line number Diff line change
Expand Up @@ -495,10 +495,18 @@ let rec IsPartialExprVal x =
| ValValue (_, a)
| SizeValue (_, a) -> IsPartialExprVal a

#if FABLE_CLI
// Many Fable packages inline functions that access internal values to resolve generics, this is not an issue
// in "normal" Fable compilations but it raises errors when generating an assembly por precompilation. Disable
// for Fable as it's not an actual error (and if is, we assume it's already been raised during type chedking).
let CheckInlineValueIsComplete (_v: Val) _res =
()
#else
let CheckInlineValueIsComplete (v: Val) res =
if v.ShouldInline && IsPartialExprVal res then
errorR(Error(FSComp.SR.optValueMarkedInlineButIncomplete(v.DisplayName), v.Range))
//System.Diagnostics.Debug.Assert(false, sprintf "Break for incomplete inline value %s" v.DisplayName)
#endif

let check (vref: ValRef) (res: ValInfo) =
CheckInlineValueIsComplete vref.Deref res.ValExprInfo
Expand Down