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


목록
번호 제목 이름 날짜 조회 추천
15798 여행제주 여행 질문입니다 6 거소 24/04/26 1054 0
15797 법률상속포기 관련 9 [익명] 24/04/25 1285 0
15796 IT/컴퓨터가계부앱 질문 1 whenyouinRome... 24/04/25 871 0
15795 기타혹시 일렉기타에서 팔 붕붕 휘두르면서 퍼포먼스 하는거 뭐라고 부르는지 아실까요? 2 즐겁게 24/04/24 1316 0
15794 게임오게임, 부족전쟁이 그렇게 재미있었나요? 12 2024 24/04/23 1353 0
15793 경제하이브 vs 어도어 에서 어도어의 3자배정 유증을 하이브가 막을 수 있나요? 2 원금복구제발ㅠㅠ 24/04/23 1388 0
15792 경제통일수혜주에는 무엇이 있읍니까? 27 아침커피 24/04/22 2031 0
15791 기타유튜브 프리미엄 질문입니다 7 김치찌개 24/04/21 1416 0
15790 체육/스포츠산린이의 갱생을 도와주십시오 17 blu 24/04/21 1582 1
15788 의료/건강한국에서 최강 미국식 피자집 추천 질문 15 햇햇반 24/04/20 1698 0
15787 여행오키나와 숙소 질문 드립니다. 4 허락해주세요 24/04/19 975 0
15786 기타퇴사 통보 시점에 대해 여쭙고자 합니다 4 아이스 커피 24/04/19 1053 0
15785 문화/예술애니 입문자에게 애니 추천 부탁드립니다 19 Yunn 24/04/19 1208 0
15784 진로7세 4세데리고 단양주말여행갑니다 11 하우두유두 24/04/19 1289 0
15783 IT/컴퓨터데스크탑 견적 좀 봐주시오... 21 설탕 24/04/19 1408 0
15781 의료/건강벽에 붙여서 쓸 수 있는 수면용 등 추천 19 kaestro 24/04/19 1274 0
15780 여행경주여행 숙소 질문입니다. 24 켈로그김 24/04/18 1314 0
15779 기타인생 최고의 버거 추천부탁드립니다. 13 퍼그 24/04/18 1336 0
15778 의료/건강사무실에 간식 두고 퇴근했는데 낼 먹을 수 있을까요? 9 OneV 24/04/17 1421 0
15777 경제재테크 알못이 질문드립니다 11 헬리제의우울 24/04/17 1351 0
15776 의료/건강남자 유두 붓기 4 [익명] 24/04/17 1358 0
15775 경제홍차넷 1인가구 청년분들은 월급의 몇%를 모으시나요? 28 [익명] 24/04/17 2080 0
15774 IT/컴퓨터Rust 프로그래밍: constructor 내부 closure에서 Self의 객체를 불러서 처리하기 6 T.Robin 24/04/17 1035 0
15773 게임닌텐도 타이틀 추천 부탁드립니다 :) 13 Broccoli 24/04/17 1038 0
15772 여행위탁수화물 물건 중 빼야되는 것을 골라주세요 6 DogSound-_-* 24/04/16 1251 0
목록

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

댓글