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


목록
번호 제목 이름 날짜 조회 추천
16023 의료/건강각막혼탁 치료.. 3 [익명] 24/07/25 1056 0
15831 의료/건강5백미리 5프로 소프트 드링크 3캔보다. 3 허윤진남편(허윤진남편) 24/05/07 1061 0
16022 기타직장 인간관계 상담 2 [익명] 24/07/24 1061 1
16166 법률1층 베란다 밖에 데크 설치 가능한가요? 24 [익명] 24/09/27 1063 0
15920 IT/컴퓨터유튜브 자막 효과 질문 13 푸르던 24/06/11 1064 0
15605 IT/컴퓨터유튜브 맞춤 동영상 질문 치즈케이크 24/02/06 1066 0
15988 법률주택임대차계약의 묵시적 연장 조건? 8 메존일각 24/07/09 1067 0
15930 게임옛날에 하던 모래놀이 6 블리츠 24/06/15 1067 0
15923 기타남성 여름 향수 추천 부탁드려요 2 바삭 24/06/12 1070 0
15929 기타수원에 괜찮은 이탈리안식당이 있을까요? 7 쉬군 24/06/14 1071 0
16099 가정/육아추석에 놀러갈 곳 20 토비 24/08/26 1072 0
15914 기타서울에서 명품 쥬얼리 특히 반지를 보러 갈만한 곳이 어딜까요? 3 4시30분퇴근 24/06/08 1078 0
15786 기타퇴사 통보 시점에 대해 여쭙고자 합니다 4 아이스 커피 24/04/19 1085 0
16126 IT/컴퓨터현재 상황에서 가장 가성비 있는 선택은 무엇일까요? (글카 vs. 글카+CPU vs. 새로 맞추기) 8 아란 24/09/06 1086 0
15574 법률생애최초 취등록세 감면 관련 2 dolmusa 24/01/26 1090 0
16076 여행중국여행시 신용카드 사용 5 셀레네 24/08/14 1090 0
15911 기타벌레주의 12 Beemo 24/06/07 1092 0
15523 IT/컴퓨터아이패드 복구키 설정 안됨 2 kaestro 24/01/08 1093 0
15806 IT/컴퓨터5만원 미만 스마트워치? 7 기아트윈스 24/04/28 1093 0
15773 게임닌텐도 타이틀 추천 부탁드립니다 :) 13 Broccoli 24/04/17 1096 0
15834 여행카와쿠치코 방문을 계획 중입니다 2 2024 24/05/08 1096 0
15774 IT/컴퓨터Rust 프로그래밍: constructor 내부 closure에서 Self의 객체를 불러서 처리하기 6 T.Robin 24/04/17 1100 0
16019 법률스타트업 법인 내부 갈등과 관련된 법적인 사항에 대해 여쭙고 싶습니다. 4 [익명] 24/07/23 1100 0
16101 기타스트레스 해소법으로 각자 무엇을 하시나요! 28 골든햄스 24/08/27 1102 1
16130 연애베트남 등 국제결혼하신 분 있으신지요 4 [익명] 24/09/09 1102 0
목록

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

댓글