On Thu, Jun 20, 2013 at 11:59 PM, Jim Blandy <[email protected]> wrote:
> 1) All the template instantiations support the same interface. When you > see a Rooted<T>, you know exactly what it does. Not so with typedefs. > That seems like something we can quite easily establish by convention. Are you concerned about the difference indirection levels (HandleValue => Handle<Value> whereas HandleObject => Handle<JSObject*>)? I don't think that's actually an issue for most consumers. Most people want, quite literally, "A Handle to A Foo". The level of pointer indirection involved is exactly the kind of implementation detail that we should abstract away. > 2) I can define my own templates ranging over the set of types that > Handle, Rooted, etc. support, and use Handle<T>. > As noted earlier in the thread, there's no reason we can't expose the templated versions for people doing specialized stuff. But That's probably < 5% of the total consumers. bholley _______________________________________________ dev-tech-js-engine-internals mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

