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


목록
번호 제목 이름 날짜 조회 추천
5813 의료/건강포사맥스 70밀리그램 정 설명서 중 발암성에 대한 부분 1 [익명] 18/11/03 3057 0
6411 의료/건강대장항문쪽 증상인데 검색이 잘 안 돼서 질문드립니다. [익명] 19/01/28 3057 0
15744 여행큐슈 북부 여행 질문 드립니다. 9 서포트벡터 24/04/04 3057 0
5571 경제주식 수수료 무료 어디가 좋은가요? 1 [익명] 18/10/02 3058 0
15575 IT/컴퓨터아이폰(아빠) 아이패드(자녀) 구성에서 유료걸제 문의 1 스톤위키 24/01/27 3058 0
1626 기타전동칫솔 vs 일반칫솔 2 김치찌개 16/10/08 3059 0
7144 의료/건강심장 두근거림 관련해서 문의 드립니다. 1 [익명] 19/05/17 3059 0
7083 기타 항산화(노화방지) 영양제 효과 있을까요...? 2 [익명] 19/05/08 3060 0
7933 IT/컴퓨터인터넷 속도 관련해서 질문 드립니다. 2 [익명] 19/09/27 3060 0
2943 기타여행 질문입니다 3 김치찌개 17/06/23 3061 0
5693 기타롱패딩/겨울옷 추천좀 해주세요!! 2 [익명] 18/10/20 3061 0
6838 의료/건강영상의학의 미래 4 [익명] 19/03/26 3062 0
6886 홍차넷안녕하세요 뉴비 인사드립니다. 11 [익명] 19/04/03 3062 0
15211 진로퇴사시 위약금 관련. 12 메존일각 23/09/13 3062 0
1356 기타아이폰5 이거 괜찬나요?? 6 김치찌개 16/08/01 3063 0
2705 기타이어폰 질문입니다 2 김치찌개 17/04/25 3063 0
5181 기타해외거주자인데 인터넷쇼핑 관련해서 질문있습니다 ㅠㅠ 11 [익명] 18/08/03 3063 0
15774 IT/컴퓨터Rust 프로그래밍: constructor 내부 closure에서 Self의 객체를 불러서 처리하기 6 T.Robin 24/04/17 3063 0
6106 문화/예술12월 영화 뭐 볼까요~?? 8 [익명] 18/12/18 3064 0
6437 의료/건강저 혹시 기능역학에 대해서 아시는 분 있을까요? 1 [익명] 19/01/31 3064 0
16219 기타여성 경량패딩을 사야 합니다. 20 니르바나 24/10/22 3064 0
15826 의료/건강종아리 위쪽 저림 증상..? 5 [익명] 24/05/06 3064 0
15884 기타아파트 매매 계약시 9 양방울 24/05/23 3067 0
7022 법률외국인 및 재외국민에 대한 보험 법 조문 해석 2 [익명] 19/04/28 3070 0
15519 기타음악 스트리밍 둘중에 어떤게 좋을까요?? 7 김치찌개 24/01/08 3070 0
목록

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

댓글