- 질문 게시판입니다.
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 23766 4
16401 여행수서역에 사람을 내려줘야 하는데요 13 방사능홍차 24/12/22 526 0
16400 기타패딩 입은 채로 자는 분 있으신지요...? 10 홍당무 24/12/21 661 0
16399 가정/육아초보 아빠입니다. 100일 아기 수돗물(분유X) 마셨을 때 대처법 궁금합니다! 3 춘처냉 24/12/21 492 0
16398 의료/건강수면 중 다리 쥐나는 문제 11 와이 24/12/21 428 0
16397 법률인도에 불법주차된 킥보드가 넘어져 차에 상해를 입힌 경우에 대한 대응방안 4 [익명] 24/12/20 461 0
16396 IT/컴퓨터카카오톡 톡게시판 무한로딩... ㅠㅠ 5 메존일각 24/12/20 314 0
16395 경제음식점 세금관련 세무상담을 받아보는것에 대해 질문드립니다. 13 얼불 24/12/19 410 0
16394 여행유럽여행 비용 질문드립니다. 6 얌전한 고양이 24/12/19 311 0
16393 기타2025년 다이어리 추천해주세요. 4 Darwin4078 24/12/19 310 0
16392 IT/컴퓨터노트북 HDMI연결 관련 문의드립니다. 3 초코파이 24/12/19 186 0
16391 기타세컨카 suv는 어떤게 좋을까요? 24 다람쥐 24/12/19 480 0
16390 문화/예술오평파에 가끔 나오는 브금인데 무슨 음악인지... 9 허락해주세요 24/12/18 277 0
16389 기타직장생활을 하다가 종교에 귀의하는거는 어떨까요? 15 [익명] 24/12/18 624 0
16388 기타거실의 장식 타일이 떨어지려고 합니다. 2 트랜스메타 24/12/17 296 0
16387 기타분리수거를 어떻게 해야할까요? 2 발그레 아이네꼬 24/12/17 302 0
16386 기타넷플릭스 질문입니다 5 김치찌개 24/12/17 300 0
16385 IT/컴퓨터컴퓨터 프리징 원인을 도저히 모르겠습니다 18 심심해 24/12/17 454 0
16384 법률리얼미터 여론조사 질문 5 매뉴물있뉴 24/12/16 382 0
16383 의료/건강발등이 저립니다 9 헬리제의우울 24/12/15 539 0
16382 의료/건강퀴퀴한 냄새나는 누룽지 먹어도 되나요? 8 나만한 고양이 24/12/15 429 0
16381 가정/육아주방에 빌트인으로 붙어있는 테이블... 3 Iowa 24/12/15 450 0
16380 연애하하 소개팅 어렵네요 19 [익명] 24/12/15 902 0
16379 기타저녁에 방어회를 시켜먹으려는데 4 왕킹멍 24/12/15 533 0
16378 의료/건강상담이란건 어떻게 받을 수 있을까요? 5 [익명] 24/12/14 502 0
목록

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

댓글