러스트 1.84.0버전이 공개됐다. 복잡한 문제를 보다 안전하고 효율적으로 해결할 수 있도록 트레이트 솔버를 근본적으로 개선하고 일부 기능을 안정화했다.
15일 데브클래스 등 외신에 따르면 러스트 릴리즈팀은 러스트 1.84.0을 공식 홈페이지와 깃허브를 통해 공개했다.
트레이트는 특정 역할에 따라 공유할 수 있는 기능을 정의하는 규칙이라고 생각할 수 있다. 예를 들어 '비행'이라는 트레이트는 새, 곤충, 비행기와 같이 서로 다른 타입들이 같은 역할을 공유할 수 있도록 만들 수 있다.
트레이트 솔버는 일종의 문제 해결사다. 서로 다른 타입 간에 '누가 어떤 능력을 가지고 있는지'를 알아내고 관계를 정리하는 역할을 한다. 어떤 동물이 비행 능력을 가지고 있다면, 트레이트 솔버는 '이 동물이 정말로 날 수 있는지, '다른 동물과 충돌하지 않는지' 등을 확인한다.
이 기능은 특정 타입이 정의된 능력을 가지고 있는지를 확인하며, 서로 다른 타입 간의 충돌이나 모호성을 해결한다. 또한 트레이트가 서로 얽혀 있거나 의존성이 있을 때 이를 정리해 컴파일러가 이해할 수 있도록 돕는다. 이를 통해 각 타입의 역할을 명확히 정리하고, 충돌이 없도록 관리한다.
러스트 1.84.0에서 도입된 새로운 트레이트 솔버는 이제 더 복잡한 관계를 이해하고 문제를 정확히 해결할 수 있도록 개선됐다. 여러 관계 속에서도 정확히 누가 무엇을 할 수 있는지를 파악하고 대규모 프로젝트에서도 신속하게 관계를 분석하고 결과를 도출한다.
또한 이전보다 오류를 줄이고, 잘못된 경고를 덜 발생시키는 방식으로 작동한다. 이를 통해 개발자들은 이제 더 복잡한 프로젝트에서 안정적으로 코드를 작성할 수 있다.
또한 프로젝트의 호환성을 더 쉽게 관리할 수 있도록 카고(Cargo)에서 프로젝트 최소 지원 러스트 버전(MSRV)을 자동으로 인식하는 기능이 추가됐다.
MSRV는 프로젝트가 정상적으로 빌드되고 실행되기 위해 요구되는 러스트 버전이다. 기존에는 수동으로 버전을 추적하고 관리해야 했지만 이번 업데이트를 통해 자동으로 관리할 수 있게 됐다.
이를 통해 개발 과정의 번거로움을 줄이고, 휴먼에러 등으로 인한 오류 발생을 최소화한다.
관련기사
- 리누스 토발즈 "러스트와 C의 논쟁은 종교적"2024.09.22
- 안전성 논란 C++, 메모리 버그 해결 방안 제시2024.09.19
- 러스트 도입 효과...구글, 안드로이드 메모리 취약점 52% 감소2024.09.29
- 러스트, 6개월 단위 로드맵 제시...언어 신뢰성 상승 목표2024.08.18
이 밖에도 포인터 관리를 위한 API를 추가해 메모리 관련 오류를 방지할 수 있도록 지원하는 등 안정성 확보를 위한 기능을 선보이고, 기존 오류를 해결했다.
러스트 릴리즈 팀은 "많은 사람들이 러스트 1.84.0을 만들기 위해 함께 모여 도움을 줘서 감사하다"며 "이번 버전을 사용하는 과정에서 버그를 발견하거나 요구 사항이 있으면 알려달라"고 말했다.