pub struct VersionInfo {
pub rustc: String,
pub plugin_interface: u8,
}
Expand description
Represents the rustc compiler version and the plugin interface version.
When a plugin is loaded, the VersionInfo
of the server is
cross-referenced against the VersionInfo
exported by the plugin. If they
don’t match, the plugin fails.
The rustc version must match exactly because rust doesn’t expose a stable ABI, and there is a risk of it changing in any version. The plugin interface version is also exposed to allow for changes to the interface in the future. If the interface is changed, this value should be incremented.
Fields§
§rustc: String
The version of rustc used to compile. This must match because rust doesn’t expose a stable ABI, and there is a risk of it changing in any version.
plugin_interface: u8
The plugin interface version is also exposed to allow for changes to the interface in the future.
Trait Implementations§
Source§impl Debug for VersionInfo
impl Debug for VersionInfo
Source§impl Default for VersionInfo
impl Default for VersionInfo
Source§impl Display for VersionInfo
impl Display for VersionInfo
Source§impl PartialEq for VersionInfo
impl PartialEq for VersionInfo
impl Eq for VersionInfo
impl StructuralPartialEq for VersionInfo
Auto Trait Implementations§
impl Freeze for VersionInfo
impl RefUnwindSafe for VersionInfo
impl Send for VersionInfo
impl Sync for VersionInfo
impl Unpin for VersionInfo
impl UnwindSafe for VersionInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.