windy1 / zeroconf-rs

zeroconf is a cross-platform library that wraps underlying ZeroConf/mDNS implementations such as Bonjour or Avahi, providing an easy and idiomatic way to both register and browse services.
MIT License
77 stars 25 forks source link

Normalize consistency of unsafe in function contracts #59

Closed windy1 closed 3 months ago

windy1 commented 3 months ago

What

This PR normalizes the consistency of where the unsafe boundary is, marking functions of the implementation-level interfaces unsafe if they use unsafe functionality.

Why

The goal here is to make the boundary of unsafe more well defined between implementation-level details and the library-level interfaces that are provided to the end user; and, makes clear that, these implementation-level interfaces do not provide the guarantees that the library-level ones do.

Manual Tests

Tested on macOS, Windows, and Linux

Documentation Updates

n/a