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
This PR removes use of nightly features.
* `once_cell`: replaced by the `once_cell` crate.
* `vec_into_raw_parts`: replaced by the actual implementation of the method in the binding.
* `box_syntax`: `box X` -> `Box::new(X)`.
* `specialization`: The code used to use `specialization` for type equality in traits `ArrayOopDesc<T>`.
* `ArrayOopDesc<T>` is used to describe different Java arrays. In OpenJDK's code base (C++), `arrayOopDesc` has subclasses `objArrayOopDesc` (for arrays of objects) and `typeArrayOopDesc` (for arrays of primitive types). In the binding, `ArrayOopDesc<Oop>` is `objArrayOopDesc`, and `ArrayOopDesc<f64/i64/etc>` is `typeArrayOopDesc`.
* Now for type equality, an enum for types is used for where type equality is needed.
* `ArrayOopsDesc` no longer takes any type parameter.
* `ArrayOopsDesc::data() -> &[T]` takes a Rust type parameter that provides a Rust slice to access the array data.
0 commit comments