You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
현재 RcCell과 RcCell에서 만들어진 Ref는 lifetime으로 연결되어 있지 않습니다. 이는 세 가지 문제를 일으킵니다.
Ref가 살아 있는데 RcCell이 move될 수 있음.
Ref가 살아 있는데 RcCell에 대한 mutable reference가 만들어져 Ref가 가지고 있는 raw pointer가 무효화될 수 있음.
Ref가 살아 있는데 RcCell이 드롭될 수 있음.
1은 Pin을 통해 해결할 수 있습니다. 2는 &mut을 만드는 것을 허용하지 않는 타입인 Pin2(가칭)를 만들어 해결하자는 제안이 있었습니다. 3은 RcCell이 드롭될 때 rc가 0이 아니면 패닉하는 방식을 현재 사용 중이며 #550 에서 설명한 것처럼 이는 올바른 해결책이 아닐 수 있습니다.
RcCell과 Ref를 lifetime으로 연결하려면 Ref에 lifetime parameter가 추가된다는 문제가 있습니다. Ref는 syscall 하나를 처리하는 동안만 살아 있는 경우도 있지만, 커널 안에 저장되어 여러 syscall에 걸쳐 살아 있는 경우도 있습니다. 그러므로 Ref에 lifetime parameter가 추가되는 경우 다음 방안 중 하나를 선택해야 합니다.
'static 사용.
Kernel을 포함한, Ref를 저장하는 모든 타입에 lifetime parameter 추가
1은 RcCell이 스택에 배치되어 드롭될 수 있는 경우에는 사용 불가능한 방법입니다. 2는 코드를 복잡하게 만들며 가능한 방법인지 확실하지 않습니다. 또한 Ref의 lifetime은 정적으로 scope에 따라 정해지는 것이 아니라 동적으로 결정되므로 lifetime parameter가 없는 것이 맞다는 주장도 가능합니다.
The text was updated successfully, but these errors were encountered:
현재
RcCell
과RcCell
에서 만들어진Ref
는 lifetime으로 연결되어 있지 않습니다. 이는 세 가지 문제를 일으킵니다.Ref
가 살아 있는데RcCell
이 move될 수 있음.Ref
가 살아 있는데RcCell
에 대한 mutable reference가 만들어져Ref
가 가지고 있는 raw pointer가 무효화될 수 있음.Ref
가 살아 있는데RcCell
이 드롭될 수 있음.1은
Pin
을 통해 해결할 수 있습니다. 2는&mut
을 만드는 것을 허용하지 않는 타입인Pin2
(가칭)를 만들어 해결하자는 제안이 있었습니다. 3은RcCell
이 드롭될 때 rc가 0이 아니면 패닉하는 방식을 현재 사용 중이며 #550 에서 설명한 것처럼 이는 올바른 해결책이 아닐 수 있습니다.RcCell
과Ref
를 lifetime으로 연결하려면Ref
에 lifetime parameter가 추가된다는 문제가 있습니다.Ref
는 syscall 하나를 처리하는 동안만 살아 있는 경우도 있지만, 커널 안에 저장되어 여러 syscall에 걸쳐 살아 있는 경우도 있습니다. 그러므로Ref
에 lifetime parameter가 추가되는 경우 다음 방안 중 하나를 선택해야 합니다.'static
사용.Kernel
을 포함한,Ref
를 저장하는 모든 타입에 lifetime parameter 추가1은
RcCell
이 스택에 배치되어 드롭될 수 있는 경우에는 사용 불가능한 방법입니다. 2는 코드를 복잡하게 만들며 가능한 방법인지 확실하지 않습니다. 또한Ref
의 lifetime은 정적으로 scope에 따라 정해지는 것이 아니라 동적으로 결정되므로 lifetime parameter가 없는 것이 맞다는 주장도 가능합니다.The text was updated successfully, but these errors were encountered: