Skip to main content

parse_externalptr_attrs

Function parse_externalptr_attrs 

Source
fn parse_externalptr_attrs(input: &DeriveInput) -> Result<ExternalPtrAttrs>
Expand description

Parse #[externalptr(...)] attributes: the class system, the restored refusal’s classes, message and scope, and the field readers’ classes.

Supported forms:

  • #[externalptr(env)] - Environment style (default)
  • #[externalptr(r6)] - R6 class
  • #[externalptr(s3)] - S3 class
  • #[externalptr(s4)] - S4 class
  • #[externalptr(s7)] - S7 class
  • #[externalptr(vctrs)] - vctrs class
  • #[externalptr(restored(class = "pkg_saved", message = "...", refuse = "every_read"))], with class = ["pkg_saved", "pkg_error"] for several classes; next to the class system (#[externalptr(s3, restored(...))]) or on its own.
  • #[externalptr(field_error(class = ["pkg_error_config", "pkg_error"], message = "...", no_field_hint = "..."))]
  • #[externalptr(rebuild = Self::from_saved)], the rebuild hook of a pointer restored from a saved session (#2146), with any_version for saves by another version of the crate too (#2187).