質問編集履歴

3

誤字の修正

2021/08/28 23:44

投稿

rtgsdfsdg
rtgsdfsdg

スコア174

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>にした。

2021/08/28 23:44

投稿

rtgsdfsdg
rtgsdfsdg

スコア174

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文を追加

2021/08/28 23:43

投稿

rtgsdfsdg
rtgsdfsdg

スコア174

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