Rooted &value) {         ptr = value;         return ptr;     }      void set(T value) {         MOZ_ASSERT(!js::GCMethods<T>::poisoned(value));         ptr = value;     }      bool operator!=(const T &other) const { return ptr != other; }     bool operator==(const T &other) const { return ptr == other; }    private:     T ptr; 