녹 1.35

Rust 팀은 언어의 새로운 버전인 1.35를 발표하게 되어 기쁩니다. Rust는 강력하고 효율적인 프로그램을 작성할 수 있는 프로그래밍 언어입니다.

rustup을 통해 이미 Rust가 설치되어 있다면 다음 명령으로 업데이트할 수 있습니다.
$ rustup 업데이트 안정적

업데이트의 주요 내용은 Box에 대한 Fn, FnOnce, FnMut 클로저 특성 구현입니다. , 상자 , 상자 각각. 안전하지 않은 함수에 대한 포인터에 클로저를 캐스팅하는 기능이 추가되어, 이제 인수 없이 dbg!() 매크로를 호출할 수 있으며 표준 라이브러리가 안정화되었습니다.

자세한 내용은 다음과 같습니다.

  • 새 버전에는 Box에 대한 Fn, FnOnce, FnMut 특성 구현이 추가되었습니다. , 상자 , 상자 각각.
    이제 이 코드가 작동합니다.
    fn foo(x: 박스 u8>) -> 벡터 {
    vec![1, 2, 3, 4].into_iter().map(x).수집()
    }

    또한 Box에서 직접 폐쇄를 호출할 수 있습니다. :
    fn foo(x: 박스 ) {
    엑스()
    }

  • 이제 클로저를 안전하지 않은 fn에 대한 포인터로 캐스팅할 수 있습니다.
    현재 이 코드는 유효합니다:
    /// 안전성 불변성은 전달된 `unsafe fn` 포인터의 안전성 불변성입니다.
    안전하지 않은 fn call_unsafe_fn_ptr(f: 안전하지 않은 fn()) {
    NS()
    }

    fn 메인() {
    // 안전성: 불변성이 없습니다.
    // 클로저는 안전하지 않은 작업을 수행하지 못하도록 정적으로 방지합니다.
    안전하지 않은 {
    call_unsafe_fn_ptr(|| {
    dbg!();
    });
    }
    }

  • 인수 없이 dbg!() 매크로를 호출하는 기능을 추가했습니다.
    이 매크로에 어떤 표현식을 전달하면 매크로는 결과를 출력합니다. 예:
    fn 메인() {
    mut x = 0로 둡니다.

    dbg!(x == 1)이면
    x += 1;
    }

    dbg!(x);
    }

    이 코드를 실행하면 다음이 표시됩니다.
    [src/main.rs:4] x == 1 = 거짓
    [src/main.rs:8] x = 0

    이제 이렇게 쓸 수 있습니다.
    fn 메인() {
    조건을 참(true)으로 하세요.

    if 조건 {
    dbg!();
    }
    }

    이 코드를 실행하면 다음이 표시됩니다.
    [src/main.rs:5]

  • 표준 라이브러리의 일부가 안정화되었습니다.
    • f32 및 f64에 대한 새로운 방법:
      • f32::복사사인
      • f64::복사사인

      실제로 이 함수는 다른 숫자의 부호를 복사합니다. 예:
      fn 메인() {
      주장_eq!(3.5_f32.copysign(-0.42), -3.5);
      }

    • 범위 유형에 대한 새로운 메서드 추가
      • 범위::포함
      • 범위From::포함
      • 범위::포함
      • 범위 포함::포함
      • 범위 포함::포함

      이러한 방법을 사용하면 특정 값이 시퀀스에 있는지 쉽게 확인할 수 있습니다.
      fn 메인() {
      if (0..=10).contains(&5) {
      println!("0부터 10까지에는 5가 포함됩니다.");
      }
      }

    • 안정화된 API의 전체 목록을 확인할 수 있습니다. 여기에
  • 이 업데이트에서는 Clippy(코드의 오류를 검사하는 프로그램)에 drop_bounds에 대한 새로운 검사 기능이 추가되었습니다. 이 검사는 제약 조건 T: Drop을 설정할 때 트리거됩니다. 일반 함수의 경우:
    fn 푸 (x: T) {}

    T: Drop 제한을 두는 것은 u8과 같은 일부 유형을 즉시 제외하기 때문에 가장 자주 실수입니다. (이에 대해 자세히 읽을 수 있습니다. 여기에)

  • Cargo(언어 패키지 관리자)에 많은 개선 및 수정 사항이 있습니다. 전체 변경 목록

출처 : linux.org.ru

DDoS 보호, VPS VDS 서버가 있는 사이트를 위한 안정적인 호스팅 구입 🔥 DDoS 공격 방지 기능이 탑재된 안정적인 웹사이트 호스팅, VPS 및 VDS 서버를 구매하세요 | ProHoster