Darien Valentine (2018-09-17T17:44:29.000Z)
valentinium at gmail.com (2018-09-17T17:45:58.417Z)
> Making is a public symbol in this manner means it is almost impossible to deny. It is still true that "util" is deniable, so this isn't necessarily fatal. I am not yet oriented enough to understand what the consequences are of suppressing util; but I am worried. I wasn’t under the impression that the util.inspect.custom symbol or the functionality it provides is itself problematic. It just happens to be possible to use it, currently, to get inside the proxy target/handler because its second argument is an object with a property whose value is a function that can be called with proxy target / handler values, yet that property may be overwritten by user code. This is very unlikely to have been an intentional facet of the API, so making `opts.stylize` unwritable/unconfigurable shouldn’t reduce the usefulness of custom inspect implementations, and afaict this would block off the avenue by which references to target/handler can escape util.js. Is there another reason why the util.inspect.custom symbol contract would be an issue?