Files
scriptc/tests/corpus/error-inherited-name.mjs
Chris Tate 2069684b40 Expand static Effect support across common APIs (#598)
* Expand static Effect support across common APIs

* Preserve compiler parity across expanded Effect patterns

* Fix compiler regressions exposed by Effect coverage

* Bound shared type conversion traversal

* Clarify conversion contracts and tidy fixtures

* Run every Effect fixture in CI shards

* Preserve inferred array assignments in concurrent Effect programs

* Record inferred array fixture compiler ordering
2026-10-01 02:49:31 -05:00

19 lines
693 B
JavaScript

class Failure extends Error {
get name() { return "Failure"; }
}
const error = new Failure("bad");
console.log(error.name, error.toString(), Object.hasOwn(error, "name"));
const seen = [];
class NameThrows extends Error {
/** @returns {string} */
get name() { seen.push("name"); throw new Error("name getter"); }
get message() { seen.push("message"); return "unused"; }
}
try { new NameThrows().toString(); } catch (error) { console.log(error.message); }
console.log(seen.join(","));
function readMessage(error) { return error.message; }
const renamed = new Error();
renamed.name = "Renamed";
console.log(renamed.name, readMessage(renamed) === "", Object.hasOwn(renamed, "message"));