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


목록
번호 제목 이름 날짜 조회 추천
15885 IT/컴퓨터아이패드 애플케어플러스에 대해. 3 야얌 24/05/24 941 0
15875 IT/컴퓨터Win 11 랩탑 로그인 문제 6 치즈케이크 24/05/22 844 0
15874 IT/컴퓨터회사 노트북과 가정 PC 파일 공유 5 [익명] 24/05/22 868 0
15858 IT/컴퓨터유튜브는 재생하면 기본 1080p 인데 4k 동영상 업로드가 의미가 있나요 6 루키루키 24/05/15 1145 0
15854 IT/컴퓨터소프트웨어 개발시 지분 관계 28 먹이 24/05/14 1213 0
15847 IT/컴퓨터ERP 솔루션 추천 부탁드립니다^^ 2 루키루키 24/05/13 973 0
15833 IT/컴퓨터어도비 애크로뱃에서 갑자기 글씨가 이상하게 보입니다. 2 자공진 24/05/08 883 0
15825 IT/컴퓨터통신사 무제한 데이터, 데이터 쉐어링 잘 아시는분... 7 dongri 24/05/04 1803 0
15821 IT/컴퓨터IT 계열에서 과제 테스트 일정이 잡혔습니다. 14 [익명] 24/05/03 1292 0
15820 IT/컴퓨터마라톤 대회용 카메라를 추천받고 싶습니다. 10 오디너리안 24/05/02 1579 0
15818 IT/컴퓨터네이버블로그/네이버카페/인스타그램/페이스북/링크드인 모와보기? 4 루키루키 24/05/02 1024 0
15814 IT/컴퓨터챗gpt같은 걸 써보고 싶은데, 추천부탁드립니다. 12 똘빼 24/04/29 1476 0
15811 IT/컴퓨터중고 크롬북을 사고 싶은데 마땅한 이유가 없읍니다 14 아침커피 24/04/29 1104 0
15806 IT/컴퓨터5만원 미만 스마트워치? 7 기아트윈스 24/04/28 1073 0
15805 IT/컴퓨터usb 포트 늘리는 물건 추천해주실수 있을까요? 6 kaestro 24/04/28 1172 0
15799 IT/컴퓨터크롬캐스트4세대로 넷플릭스 광고요금제 볼수 있나요? 일리지 24/04/26 764 0
15796 IT/컴퓨터가계부앱 질문 1 whenyouinRome... 24/04/25 928 0
15783 IT/컴퓨터데스크탑 견적 좀 봐주시오... 21 설탕 24/04/19 1449 0
15774 IT/컴퓨터Rust 프로그래밍: constructor 내부 closure에서 Self의 객체를 불러서 처리하기 6 T.Robin 24/04/17 1079 0
15771 IT/컴퓨터요즘은 타자 연습 뭘로 할까요? 11 토비 24/04/16 1252 0
15770 IT/컴퓨터모바일에서 보기 편한 스프레드시트? 4 메존일각 24/04/16 1129 0
15761 IT/컴퓨터제가 운영하는 웹사이트에 error_log 파일이 쌓이고 있는데 도움부탁드립니다. 4 스톤위키 24/04/13 1348 0
15757 IT/컴퓨터TV로 파일 영상을 잘 보려면? 1 2024 24/04/11 993 0
15755 IT/컴퓨터알뜰폰 쓰는 사람이 해외여행갈때 어떻게 하면 좋을지요? 6 Broccoli 24/04/11 1562 0
15752 IT/컴퓨터안드로이드 TV에서 DVD 파일 재생 4 OshiN 24/04/08 1266 0
목록

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

댓글