@@ -369,7 +369,7 @@ pub fn setter(input: TokenStream) -> TokenStream {
369369/// configurable visibility and behavior options.
370370///
371371/// # Supported Attributes
372- /// - `#[get(...)]`: Controls getter generation (supports `reference`, `clone` options)
372+ /// - `#[get(...)]`: Controls getter generation (supports `reference`, `clone`, `copy`, `deref` options)
373373/// - `#[get_mut(...)]`: Controls mutable getter generation
374374/// - `#[set(...)]`: Controls setter generation (supports `Into`, `AsRef` options)
375375///
@@ -395,28 +395,33 @@ pub fn setter(input: TokenStream) -> TokenStream {
395395/// #[get(pub, clone)]
396396/// #[set(pub, Into)]
397397/// email: String,
398- /// #[get_mut (pub)]
398+ /// #[get (pub, copy )]
399399/// age: u32,
400+ /// #[get_mut(pub)]
401+ /// mutable_age: u32,
400402/// }
401403///
402404/// let mut user = User {
403405/// name: "Alice".to_string(),
404406/// email: "alice@example.com".to_string(),
405407/// age: 30,
408+ /// mutable_age: 25,
406409/// };
407410///
408411/// let name_reference: &String = user.get_name();
409412/// let email_clone: String = user.get_email();
413+ /// let age_copy: u32 = user.get_age();
410414/// assert_eq!(*name_reference, "Alice");
411415/// assert_eq!(email_clone, "alice@example.com");
416+ /// assert_eq!(age_copy, 30);
412417///
413418/// user.set_name("Bob".to_string());
414419/// user.set_email("bob@example.com");
415420///
416421/// let updated_email: String = user.get_email();
417422/// assert_eq!(updated_email, "bob@example.com");
418423///
419- /// let age_mutable_reference: &mut u32 = user.get_mut_age ();
424+ /// let age_mutable_reference: &mut u32 = user.get_mut_mutable_age ();
420425/// *age_mutable_reference = 31;
421426///
422427/// assert_eq!(*age_mutable_reference, 31);
0 commit comments