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


목록
번호 제목 이름 날짜 조회 추천
15940 IT/컴퓨터요즘에 새 휴대폰 살려면 어디로 가야 하나요?(갤럭시 S24 계열) 13 호에로펜 24/06/18 1335 0
15935 IT/컴퓨터QHD 27인치 vs 32인치 모니터 9 방사능홍차 24/06/17 1310 0
15920 IT/컴퓨터유튜브 자막 효과 질문 13 푸르던 24/06/11 1118 0
15910 IT/컴퓨터하드 용량이 이상한 거 같아요. 4 moqq 24/06/07 1210 0
15893 IT/컴퓨터갤럭시 z플립 로지텍 블루투스키보드 연결지연 3 다람쥐 24/05/27 1074 0
15890 IT/컴퓨터공업용선풍기 구동 커패시터 관련해 질문 드립니다. 1 전화위복어 24/05/27 948 0
15885 IT/컴퓨터아이패드 애플케어플러스에 대해. 3 야얌 24/05/24 1030 0
15875 IT/컴퓨터Win 11 랩탑 로그인 문제 6 치즈케이크 24/05/22 925 0
15874 IT/컴퓨터회사 노트북과 가정 PC 파일 공유 5 [익명] 24/05/22 957 0
15858 IT/컴퓨터유튜브는 재생하면 기본 1080p 인데 4k 동영상 업로드가 의미가 있나요 6 루키루키 24/05/15 1239 0
15854 IT/컴퓨터소프트웨어 개발시 지분 관계 28 먹이 24/05/14 1265 0
15847 IT/컴퓨터ERP 솔루션 추천 부탁드립니다^^ 2 루키루키 24/05/13 1050 0
15833 IT/컴퓨터어도비 애크로뱃에서 갑자기 글씨가 이상하게 보입니다. 2 자공진 24/05/08 968 0
15825 IT/컴퓨터통신사 무제한 데이터, 데이터 쉐어링 잘 아시는분... 7 dongri 24/05/04 1907 0
15821 IT/컴퓨터IT 계열에서 과제 테스트 일정이 잡혔습니다. 14 [익명] 24/05/03 1356 0
15820 IT/컴퓨터마라톤 대회용 카메라를 추천받고 싶습니다. 10 오디너리안 24/05/02 1668 0
15818 IT/컴퓨터네이버블로그/네이버카페/인스타그램/페이스북/링크드인 모와보기? 4 루키루키 24/05/02 1097 0
15814 IT/컴퓨터챗gpt같은 걸 써보고 싶은데, 추천부탁드립니다. 12 똘빼 24/04/29 1542 0
15811 IT/컴퓨터중고 크롬북을 사고 싶은데 마땅한 이유가 없읍니다 14 아침커피 24/04/29 1191 0
15806 IT/컴퓨터5만원 미만 스마트워치? 7 기아트윈스 24/04/28 1162 0
15805 IT/컴퓨터usb 포트 늘리는 물건 추천해주실수 있을까요? 6 kaestro 24/04/28 1242 0
15799 IT/컴퓨터크롬캐스트4세대로 넷플릭스 광고요금제 볼수 있나요? 일리지 24/04/26 817 0
15796 IT/컴퓨터가계부앱 질문 1 whenyouinRome... 24/04/25 1011 0
15783 IT/컴퓨터데스크탑 견적 좀 봐주시오... 21 설탕 24/04/19 1539 0
15774 IT/컴퓨터Rust 프로그래밍: constructor 내부 closure에서 Self의 객체를 불러서 처리하기 6 T.Robin 24/04/17 1155 0
목록

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

댓글