diff --git a/CHANGELOG.md b/CHANGELOG.md index e768b75c53..4db4967e0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ # 12.0.0-alpha.11 (Unreleased) +#### :bug: Bug fix + +- Fix `Error.fromException`. https://github.com/rescript-lang/rescript/pull/7364 + +# 12.0.0-alpha.10 + #### :rocket: New Feature - Add `Dict.has` and double `Dict.forEachWithKey`/`Dict.mapValues` performance. https://github.com/rescript-lang/rescript/pull/7316 diff --git a/lib/es6/Stdlib_Error.js b/lib/es6/Stdlib_Error.js index d13d973069..9dcb2bfa59 100644 --- a/lib/es6/Stdlib_Error.js +++ b/lib/es6/Stdlib_Error.js @@ -1,13 +1,13 @@ +import * as Stdlib_Exn from "./Stdlib_Exn.js"; import * as Primitive_option from "./Primitive_option.js"; function fromException(exn) { - if (exn.TAG === "Ok") { - return; - } else { - return Primitive_option.some(exn._0); + if (exn.RE_EXN_ID === Stdlib_Exn.$$Error) { + return Primitive_option.some(exn._1); } + } let $$EvalError = {}; diff --git a/lib/js/Stdlib_Error.js b/lib/js/Stdlib_Error.js index 07130c548e..3c6de75afb 100644 --- a/lib/js/Stdlib_Error.js +++ b/lib/js/Stdlib_Error.js @@ -1,13 +1,13 @@ 'use strict'; +let Stdlib_Exn = require("./Stdlib_Exn.js"); let Primitive_option = require("./Primitive_option.js"); function fromException(exn) { - if (exn.TAG === "Ok") { - return; - } else { - return Primitive_option.some(exn._0); + if (exn.RE_EXN_ID === Stdlib_Exn.$$Error) { + return Primitive_option.some(exn._1); } + } let $$EvalError = {}; diff --git a/runtime/Stdlib_Error.res b/runtime/Stdlib_Error.res index f2035d178d..aaf799a143 100644 --- a/runtime/Stdlib_Error.res +++ b/runtime/Stdlib_Error.res @@ -2,7 +2,7 @@ type t = Stdlib_Exn.t let fromException: exn => option = exn => switch Obj.magic(exn) { - | Error(t) => Some(t) + | Stdlib_Exn.Error(t) => Some(t) | _ => None } external toException: t => exn = "%identity"