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


목록
번호 제목 이름 날짜 조회 추천
공지 질문 게시판 이용 규정 11 토비 15/06/19 22829 4
15888 의료/건강오랜 우울증 치료 2 + [익명] 24/05/26 197 0
15887 여행여자 혼자 갈만한 휴양지(해외 or 국내) 없을까요? 18 + [익명] 24/05/26 535 0
15886 기타벌레알인지 씨앗인지 구분이 안갑니다 8 2024 24/05/25 380 0
15885 IT/컴퓨터아이패드 애플케어플러스에 대해. 3 야얌 24/05/24 215 0
15884 기타아파트 매매 계약시 9 양방울 24/05/23 489 0
15883 가정/육아가정 복도 인테리어 질문 12 dolmusa 24/05/23 383 0
15882 문화/예술영화 추천 부탁드려도 되나요? 9 활활태워라 24/05/23 318 0
15881 체육/스포츠미국 헬스장 가격, 여러분이라면 어떡하시겠어요? 5 NOORY 24/05/23 466 0
15879 여행광주 상무지구 술집 추천해 주십시오. 맥주만땅(Beer Inside) 24/05/22 160 0
15878 여행전남 해남쪽 숙소 문의드립니다. 19 쉬군 24/05/22 371 0
15877 기타나이 40중반 기억력 8 [익명] 24/05/22 500 0
15876 경제신용카드 신규 발급 추천 및 궁금한점!! 7 쿠바왕 24/05/22 261 0
15875 IT/컴퓨터Win 11 랩탑 로그인 문제 6 치즈케이크 24/05/22 114 0
15874 IT/컴퓨터회사 노트북과 가정 PC 파일 공유 5 [익명] 24/05/22 172 0
15873 연애여자친구 생일 선물 고민(책+@) 22 [익명] 24/05/22 378 0
15872 기타좁은 방 침대와 책상 배치 12 kaestro 24/05/21 360 0
15870 의료/건강편도결석 관리 어떻게 해야 되나요? 4 化神 24/05/21 462 0
15869 기타인터넷 주문 가능한 맛있는 음식 추천해주세요! 16 바삭 24/05/20 514 0
15868 법률임대차관련 질문드립니다. 12 거소 24/05/20 346 0
15867 의료/건강치아 재식술 후 경과, 도와주세요!! 6 블리츠 24/05/18 446 0
15866 기타아버지 교통사고 형사합의금 분배문제 17 [익명] 24/05/18 855 0
15865 기타잃고싶지 않은 인연이라면 4 [익명] 24/05/18 758 0
15864 연애다정하고 따스한 연인이 되고 싶습니다 13 [익명] 24/05/17 986 0
15863 여행울산은 먹을게 고래고기 밖에 없다면서요? 11 그저그런 24/05/16 753 0
목록

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

댓글