You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
varitem={foo: 'bar'}vararray=[item];varMyArrayMixin=Ember.Mixin.create({contains: function(){returnthis._super();}});MyArrayMixin.apply(array);// Should be true, false is false, falseconsole.log(array.hasOwnProperty('__nextSuper'),array.propertyIsEnumerable('__nextSuper'));array.contains();// Should be true, false is true, trueconsole.log(array.hasOwnProperty('__nextSuper'),array.propertyIsEnumerable('__nextSuper'));
Currently __nextSuper is defined in the makeCtor function, which is only called when creating a new object. Array are really just mixins applied to array instance, and as such never call the constructor. __nextSuper should be set on them during instantiation with the correct non-enumerable configuration.
Is similar to #4970, but this is for the general case. That specific issue on contains was addressed by #5444.
See jsbin.
Currently
__nextSuper
is defined in themakeCtor
function, which is only called when creating a new object. Array are really just mixins applied to array instance, and as such never call the constructor.__nextSuper
should be set on them during instantiation with the correct non-enumerable configuration.Is similar to #4970, but this is for the general case. That specific issue on
contains
was addressed by #5444.Could be addressed by #5430. May ref #5464
The text was updated successfully, but these errors were encountered: