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


목록
번호 제목 이름 날짜 조회 추천
3051 의료/건강경동시장(서울약령시)에서 보약짓기 조언 부탁드립니다 7 T.Robin 17/07/14 13412 0
3646 의료/건강수원-보톡스 괜찮은 피부과? T.Robin 17/11/07 4731 0
3863 의료/건강대상포진 대응법 / 서울내 대상포진 전문병원? 9 T.Robin 17/12/18 13438 0
4469 IT/컴퓨터NFC(near field communication) 관련 자료를 찾고 있습니다 2 T.Robin 18/04/14 5544 0
4496 의료/건강당뇨식: 단백질 vs. 탄수화물 6 T.Robin 18/04/19 5240 0
6207 기타회사에서 읽을 수 있을만한 책을 찾습니다 30 T.Robin 19/01/02 5598 0
6841 경제NICE 평가정보 기술평가 결과 등급의 reputation 25 T.Robin 19/03/27 6017 0
6884 기타저녁 식사 추천받습니다 23 T.Robin 19/04/02 5184 0
9416 IT/컴퓨터JS와 Python 중 뭘 공부할까요? 48 T.Robin 20/05/15 8971 0
11410 기타자동차 타이어 교환은 어디서? 8 T.Robin 21/04/23 5957 0
11709 의료/건강과잉치 제거 대학병원 추천받습니다 5 T.Robin 21/06/11 6174 0
13174 IT/컴퓨터Ant Design vs. MUI Core 7 T.Robin 22/03/28 7067 0
13599 IT/컴퓨터React 및 Vue 한글 강의 추천해 주세요 22 T.Robin 22/07/07 6416 0
15118 IT/컴퓨터이동전화기 추천받습니다 31 T.Robin 23/08/09 4457 0
15774 IT/컴퓨터Rust 프로그래밍: constructor 내부 closure에서 Self의 객체를 불러서 처리하기 6 T.Robin 24/04/17 3257 0
16289 의료/건강아이에게 녹용 복용을 고려중입니다 15 T.Robin 24/11/15 2717 0
16608 의료/건강혈당 측정되는 스마트워치 추천 부탁드립니다 8 T.Robin 25/03/12 3239 0
1561 의료/건강이건 무슨 증상인가요? 2 syzygii 16/09/26 4758 0
1632 기타공부하는데 너무 회의가 들어요 16 syzygii 16/10/09 5157 0
2004 진로두달간 뭘 할까요? 9 syzygii 16/12/31 5395 0
2148 의료/건강김사부는 최소 몇살일까요? 5 syzygii 17/01/20 8609 0
2177 기타너무 낯을 가려요 8 syzygii 17/01/25 4673 0
10370 진로뭐 배우거나 취미로 할만한게 있을까요? 16 syzygii 20/11/01 6391 0
10495 의료/건강백신 설문조사. 나오면 맞을 생각이 있으신가요? 35 syzygii 20/11/24 6740 0
10687 기타임대 계약 만료 후 보증금을 받지 못했는데 3 syzygii 20/12/22 5674 0
목록

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