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


목록
번호 제목 이름 날짜 조회 추천
15860 기타가성비 선글라스 브랜드나 제품 추천 부탁드려요. 1 + 침묵의공처가 24/05/16 19 0
15859 경제전세자금대출 1 + [익명] 24/05/15 109 0
15850 기타Tv로 유튜브앱 배속시 화질저하 문제 2 하우두유두 24/05/13 156 0
15849 게임스타 1 vs 스타 2(start 아님) 2 2024 24/05/13 231 0
15858 IT/컴퓨터유튜브는 재생하면 기본 1080p 인데 4k 동영상 업로드가 의미가 있나요 4 + 루키루키 24/05/15 235 0
15833 IT/컴퓨터어도비 애크로뱃에서 갑자기 글씨가 이상하게 보입니다. 2 자공진 24/05/08 240 0
15834 여행카와쿠치코 방문을 계획 중입니다 2 2024 24/05/08 247 0
15799 IT/컴퓨터크롬캐스트4세대로 넷플릭스 광고요금제 볼수 있나요? 일리지 24/04/26 250 0
15796 IT/컴퓨터가계부앱 질문 1 whenyouinRome... 24/04/25 253 0
15835 의료/건강링거/하트만용액 질문 올립니다. 4 [익명] 24/05/09 253 0
15802 문화/예술이슬람 노래 찾습니다 1 몸맘 24/04/27 285 0
15807 경제퇴직금 계좌 전환 관련하여 문의드립니다. 2 거참귀찮네 24/04/29 288 0
15851 여행6월 하순 해외여행지 추천 부탁드려요. 23 늘쩡 24/05/14 288 0
15837 경제체크카드 추천 부탁드립니다 4 스톤위키 24/05/09 295 0
15844 법률작년 국내주식 양도세 문의 4 [익명] 24/05/11 310 0
15847 IT/컴퓨터ERP 솔루션 추천 부탁드립니다^^ 2 루키루키 24/05/13 312 0
15773 게임닌텐도 타이틀 추천 부탁드립니다 :) 13 Broccoli 24/04/17 321 0
15831 의료/건강5백미리 5프로 소프트 드링크 3캔보다. 3 허윤진남편 24/05/07 323 0
15774 IT/컴퓨터Rust 프로그래밍: constructor 내부 closure에서 Self의 객체를 불러서 처리하기 6 T.Robin 24/04/17 345 0
15829 기타목 허리에 부담 없는 의자 추천 부탁 드립니다. 11 자몽에이슬 24/05/07 345 0
15748 법률전세 전입시 근저당 및 보증보험 인수 관련 문의 sarammy 24/04/06 352 0
15757 IT/컴퓨터TV로 파일 영상을 잘 보려면? 1 2024 24/04/11 353 0
15787 여행오키나와 숙소 질문 드립니다. 4 허락해주세요 24/04/19 353 0
15800 의료/건강간염 예방접종 질문입니다. 2 kogang2001 24/04/26 360 0
15818 IT/컴퓨터네이버블로그/네이버카페/인스타그램/페이스북/링크드인 모와보기? 4 루키루키 24/05/02 360 0
목록

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

댓글