- 질문 게시판입니다.
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


목록
번호 제목 이름 날짜 조회 추천
10075 IT/컴퓨터QR코드의 원리가 궁금합니다 (파일명 매칭) 2 루키루키 20/09/07 4094 0
1865 의료/건강Qualified recovery가 무엇인가요? 7 Beer Inside 16/12/05 2709 0
14232 기타R 코드 효율화 13 소요 22/12/07 3364 0
14364 체육/스포츠Rab ZenAir 어떤가요. 6 Beer Inside 23/01/12 2061 0
7280 IT/컴퓨터raid 잘 풀리나요? 3 흥차넷 19/06/10 3970 0
12311 IT/컴퓨터RDP용 저렴한 서비스는 아직 없겠지요?? 8 dongri 21/09/25 3558 0
13599 IT/컴퓨터React 및 Vue 한글 강의 추천해 주세요 22 T.Robin 22/07/07 3214 0
4682 IT/컴퓨터realtek 설정 관련 질문입니다. 3 구밀복검 18/05/24 7955 0
2469 기타Reference를 한국말로 어떻게 번역하는 게 좋을까요? 15 줄리엣 17/03/09 8023 1
7720 IT/컴퓨터RFID 카드를 스마트폰으로 복제할 수 있나요? 5 s.v.p. 19/08/23 164462 0
5106 기타Richard를 왜 Dick이라고 하나요? 12 우기 18/07/21 3950 0
16053 IT/컴퓨터RIDI에 대한 이미지는 어떠신가요? 35 아재 24/08/06 1660 0
14883 경제ROCE를 알려주세요. 헬프~ 4 moqq 23/06/03 1716 0
3979 기타Ronnefldt 해외 직구 대행해주는 사이트 추천해 주시면 감사하겠습니다. 4 맥주만땅 18/01/11 3841 0
4066 의료/건강rosacea의 치료법은 있는건가요? [익명] 18/01/26 2570 0
15774 IT/컴퓨터Rust 프로그래밍: constructor 내부 closure에서 Self의 객체를 불러서 처리하기 6 T.Robin 24/04/17 1092 0
10568 경제rx100mk7 풀세트 팝니다(가격 인하) 13 업무일지 20/12/07 3472 0
3174 IT/컴퓨터R과 엑셀 10 지식의늪지대 17/08/09 4622 0
12807 IT/컴퓨터R을 통한 ANOVA 분석에 대해 질문드립니다. 4 병아리달 22/01/10 4118 0
3090 IT/컴퓨터R프로그래밍을 2주만에 떼려면 6 지식의늪지대 17/07/21 3640 0
8308 IT/컴퓨터S10 LTE 모델들 배터리 타임(엑시노스 기준) 3 흥차넷 19/11/20 3280 0
14967 IT/컴퓨터S10이 운명하셨습니다. 10 레디미르 23/06/26 1988 0
10950 IT/컴퓨터s20 노말 버스는 올 가능성이 없는지요? 2 행운 21/02/02 3564 0
10202 IT/컴퓨터s20 울트라 or 200g 넘는 스마트폰의 무게에 대해 6 [익명] 20/10/03 3713 0
10826 과학S20+ bts 와 s20 울트라 뭘살까요? 3 하우두유두 21/01/13 3385 0
목록

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

댓글