質問編集履歴
3
誤字の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -84,9 +84,9 @@
|
|
84
84
|
|
85
85
|
|
86
86
|
|
87
|
-
### Lazy<&PathBuf>にする
|
87
|
+
### 型を`Lazy<&PathBuf>`にする
|
88
88
|
|
89
|
-
`Lazy<&Path>のときと同様のエラーがでた。
|
89
|
+
`Lazy<&Path>`のときと同様のエラーがでた。
|
90
90
|
|
91
91
|
|
92
92
|
|
2
試したこと: Lazy<&PathBuf>にした。
test
CHANGED
File without changes
|
test
CHANGED
@@ -81,3 +81,43 @@
|
|
81
81
|
returns a value referencing data owned by the current function
|
82
82
|
|
83
83
|
```
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
### Lazy<&PathBuf>にする
|
88
|
+
|
89
|
+
`Lazy<&Path>のときと同様のエラーがでた。
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
#### コード
|
94
|
+
|
95
|
+
```rust
|
96
|
+
|
97
|
+
use std::path::PathBuf;
|
98
|
+
|
99
|
+
use once_cell::sync::Lazy;
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
static DATA_FILE_PATH: Lazy<&PathBuf> = Lazy::new(|| {
|
104
|
+
|
105
|
+
&home::home_dir().unwrap().join("a_file")
|
106
|
+
|
107
|
+
});
|
108
|
+
|
109
|
+
```
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
#### エラー
|
114
|
+
|
115
|
+
```
|
116
|
+
|
117
|
+
cannot return reference to temporary value
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
returns a reference to data owned by the current function
|
122
|
+
|
123
|
+
```
|
1
構造体Pathのuse文を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,6 +7,8 @@
|
|
7
7
|
#### コード
|
8
8
|
|
9
9
|
```rust
|
10
|
+
|
11
|
+
use std::path::Path;
|
10
12
|
|
11
13
|
use once_cell::sync::Lazy;
|
12
14
|
|
@@ -52,6 +54,8 @@
|
|
52
54
|
|
53
55
|
```rust
|
54
56
|
|
57
|
+
use std::path::Path;
|
58
|
+
|
55
59
|
use once_cell::sync::Lazy;
|
56
60
|
|
57
61
|
|