]>
git.proxmox.com Git - rustc.git/blob - vendor/derive_more/tests/as_mut.rs
4 extern crate derive_more
;
6 use std
::path
::PathBuf
;
10 struct SingleFieldTuple(String
);
13 fn single_field_tuple() {
14 let mut item
= SingleFieldTuple(String
::from("test"));
16 assert
!(ptr
::eq(&mut item
.0, item
.as_mut()));
21 struct SingleFieldForward(Vec
<i32>);
24 fn single_field_forward() {
25 let mut item
= SingleFieldForward(vec
![]);
26 let _
: &mut [i32] = (&mut item
).as_mut();
30 struct SingleFieldStruct
{
35 fn single_field_struct() {
36 let mut item
= SingleFieldStruct
{
37 first
: String
::from("test"),
40 assert
!(ptr
::eq(&mut item
.first
, item
.as_mut()));
44 struct MultiFieldTuple(#[as_mut] String, #[as_mut] PathBuf, Vec<usize>);
47 fn multi_field_tuple() {
48 let mut item
= MultiFieldTuple(String
::from("test"), PathBuf
::new(), vec
![]);
50 assert
!(ptr
::eq(&mut item
.0, item
.as_mut()));
51 assert
!(ptr
::eq(&mut item
.1, item
.as_mut()));
55 struct MultiFieldStruct
{
64 fn multi_field_struct() {
65 let mut item
= MultiFieldStruct
{
66 first
: String
::from("test"),
67 second
: PathBuf
::new(),
71 assert
!(ptr
::eq(&mut item
.first
, item
.as_mut()));
72 assert
!(ptr
::eq(&mut item
.second
, item
.as_mut()));
76 struct SingleFieldGenericStruct
<T
> {
81 fn single_field_generic_struct() {
82 let mut item
= SingleFieldGenericStruct
{
83 first
: String
::from("test"),
86 assert
!(ptr
::eq(&mut item
.first
, item
.as_mut()));
90 struct MultiFieldGenericStruct
<T
> {
99 fn multi_field_generic_struct() {
100 let mut item
= MultiFieldGenericStruct
{
101 first
: b
"test".to_vec(),
102 second
: PathBuf
::new(),
106 assert
!(ptr
::eq(&mut item
.first
, item
.as_mut()));
107 assert
!(ptr
::eq(&mut item
.second
, item
.as_mut()));