- 질문 게시판입니다.
Date 24/04/17 15:48:38수정됨
Name   T.Robin
Subject   Rust 프로그래밍: constructor 내부 closure에서 Self의 객체를 불러서 처리하기
Rust 도전 일주일차인 T.Robin입니다(아 응애에요).
대충 아래의 코드가 있습니다.



struct S1 {
    element1: AAA,
    element2: BBB,
}

impl S1 {
    pub fn new()->Self {
        let result = Self { element1: Element1::new(), element2: Element2::new() }
        // 뭔가 이것저것......

        result.element1.do_something( {
            let element1_weak_reference = result.element1.get_weak_reference().unwrap();
            move || {
                // 여기가 문제
                result.element2.do_something_else( element1_weak_reference.do_something() );
            }
        });

        // 완료
        result
    }
}



아마 눈치채셨겠지만, 이 코드는 빌드되지 않습니다. [//여기가 문제] 부분에서 result.element2가 closure 안쪽으로 이동해버려서, 마지막 "[//완료]" 부분에서는 result.element2가 아직 변수를 빌려준 상태로 남아있게 되어서 컴파일러가 투덜댑니다(요컨데, closure가 본문보다 더 오래 살아남을 수 있다....... 뭐 이런 내용입니다).

아예 unsafe 선언하고 C++ 스타일 raw pointer로 막무가내로 밀어부쳐 보기도 했습니다만 프로그램이 터지는걸 보면 이것도 답은 아닌 것 같습니다.
이 경우, 어떻게 처리해야 될까요?



0


목록
번호 제목 이름 날짜 조회 추천
11709 의료/건강과잉치 제거 대학병원 추천받습니다 5 T.Robin 21/06/11 5732 0
13174 IT/컴퓨터Ant Design vs. MUI Core 7 T.Robin 22/03/28 6553 0
13599 IT/컴퓨터React 및 Vue 한글 강의 추천해 주세요 22 T.Robin 22/07/07 5966 0
15118 IT/컴퓨터이동전화기 추천받습니다 31 T.Robin 23/08/09 3897 0
15774 IT/컴퓨터Rust 프로그래밍: constructor 내부 closure에서 Self의 객체를 불러서 처리하기 6 T.Robin 24/04/17 2686 0
16289 의료/건강아이에게 녹용 복용을 고려중입니다 15 T.Robin 24/11/15 2159 0
16608 의료/건강혈당 측정되는 스마트워치 추천 부탁드립니다 8 T.Robin 25/03/12 2571 0
10899 의료/건강비타민 A 보충제 복용 관련 Taiga 21/01/25 4572 0
2848 법률이런 경우 사기로 고소가 가능한지요? 3 tannenbaum 17/06/01 4119 0
1709 IT/컴퓨터웹 페이지에 어떻게 음악 삽입하나요? 7 tannenbaum 16/10/31 3291 0
1758 문화/예술다음 사진에서 웹툰 캐릭터 몇개나 보이시나요? 24 tannenbaum 16/11/10 5332 0
1797 법률조건부 증여 질문입니다. 3 tannenbaum 16/11/20 3798 0
1814 IT/컴퓨터기프티콘 온게 있는데 다른 사람에게 줄 수 있나요? 가능하면 받으실분!!! 15 tannenbaum 16/11/24 5061 3
1845 의료/건강쌍방 폭행 진단서 질문인데요. 5 tannenbaum 16/11/30 7834 0
1850 교육'손은 눈보다 빠르다'를 어떻게 영어로 설명할까요? 49 tannenbaum 16/12/01 8932 0
1924 IT/컴퓨터imgur에 있는 gif이미지를 iframe으로 삽입했는데 안되용. 5 tannenbaum 16/12/18 4815 0
2333 가정/육아유부남여 회원께 질문용. 돌이 갓 지난 아이, 아이엄마에게 어떤 선물이 좋을까요? 13 tannenbaum 17/02/16 4450 0
2444 법률이런 경우 제가 취할 수 있는 법률적 조치가 존재할까요? 10 tannenbaum 17/03/04 3876 0
2465 의료/건강친구놈이 뇌경색 판정을 받았습니다. 3 tannenbaum 17/03/09 3519 0
2554 IT/컴퓨터아이폰분실 데이터(연락처, 사진, 영상, 문서 등) 유출 가능성? 3 tannenbaum 17/03/24 5744 0
2696 가정/육아제가요.... 돼지 등뼈 세일하길래 충동구매를 했거든요... 12 tannenbaum 17/04/21 4585 0
3022 IT/컴퓨터제가 놋북을 골랐는데 이거 가성비 좀 봐주실래여? 21 tannenbaum 17/07/07 4822 0
3059 IT/컴퓨터익스플로러가 사라졌어요. ㅜㅜ 8 tannenbaum 17/07/17 3819 0
3115 기타이거 무슨 심리일까요? 36 tannenbaum 17/07/27 3879 0
3227 가정/육아유통기한 1달 지난 치즈 먹어도 될까여? 5 tannenbaum 17/08/19 8226 0
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글