예를들어 s라는 구조체에 AsRef 구현하면
&s 하면 as_ref 메서드의 리턴값이 나오는줄 알았는데
해보니까 s.as_ref() 이렇게 명시적으로 했을 때만 되던데
그럼 이거 용도가 머임?
언제 자동으로 저 메서드 불러오는거임?
예를들어 s라는 구조체에 AsRef 구현하면
&s 하면 as_ref 메서드의 리턴값이 나오는줄 알았는데
해보니까 s.as_ref() 이렇게 명시적으로 했을 때만 되던데
그럼 이거 용도가 머임?
언제 자동으로 저 메서드 불러오는거임?
제네릭으로 쓰는거야 문서 보셈
fs::open()같은 함수에서 &Path를 받는 대신 AsRef<Path>를 받아서 &OsStr이나 &str도 가능하게 만드는 거임
이렇게하면 fs::open(Path::from("foo")) 대신에 fs::open("foo") 처럼 바로 쓸수있음