-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
spawn-ready: Remove useless MakeSpawnReady
type
#536
Conversation
e1d152a
to
3a9b831
Compare
c09d7aa
to
476dde8
Compare
spawn_ready
moduleMakeSpawnReady
type
This PR depends on #538 |
476dde8
to
abbb201
Compare
The `spawn_ready` module has two notable (public API) problems: 1. `MakeSpawnReady` is useless, as it doesn't use the target type in any novel way. It's nothing more than a `MapResponse`. 2. The `SpawnReadyLayer` type produces a `MakeSpawnReady` (which is, as mentioned, useless). This change removes the `spawn_ready::make` module and modifies `SpawnReadyLayer` to produce `SpawnReady` instances directly.
abbb201
to
1539674
Compare
Again, this is a breaking change; but I wanted to open this for discussion. I'm responsible for the current mess and would love to clean it up eventually. |
Could be worth searching GitHub to see if it shows up in the wild...this wouldn't give us a correct negative signal, as there might be any number of private projects or projects on other git hosts using it, but we could at least get a positive signal if it turns out someone is using this... |
Not quite sure what your plan is but gut my feeling is that we shouldn't be afraid of bumping the version to 0.5 even if this is the only breaking change. |
From a quick search, there appear to be no uses outside of this repo: https://github.com/search?q=SpawnReadyLayer&type=code Though, I'm fine with bumping to 0.5 in this PR? (Should that happen in this PR or a distinct followup?) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not very familiar with this area of the code but I think this looks correct
@hawkw ptal also: should i bump version to 0.5 in this PR or should that be done when prepping the release? |
I haven't looked too closely at the actual change & its rationale yet, but I did want to weigh in on the breaking change: I think that we actually can afford to bump versions for the That said, I think we should try to get approval from everyone before shipping a breaking change --- at least, it would be nice to get a +1 from @LucioFranco as well. I'd also prefer to do a deprecation for |
I don't know how we do this gracefully when the intent is to change the signature of Also, I don't really think it's important to do a deprecation cycle as we have no evidence it's actually used anywhere. |
this is what i get before weighing in before actually reading the change :P
I don't think it's important either :) I just thought that, from the PR title, we were just doing a simple removal, so it seemed like we could do a deprecation cycle quite easily, and we may as well do one. My bad! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm on board with this provided that @LucioFranco (and maybe also @jonhoo?) agree that shipping an 0.5 is reasonable.
Also, we may want to wait to do a quick pass to make sure there's nothing else that ought to be in a breaking release before publishing.
Per discussion with @LucioFranco: It would be great if we didn't do a breaking release with only such a minor change. So, I've marked this in https://github.com/tower-rs/tower/milestone/3 so we can bundle a set of breaking changes together. |
now that we're prepping v0.5, let's get this merged! |
@olix0r looks like this has some conflicts that will need to be resolved manually now... |
@hawkw merged master |
The
spawn_ready
module has two notable (public API) problems:MakeSpawnReady
is useless, as it doesn't use the target type in anynovel way. It's nothing more than a
MapResponse
.SpawnReadyLayer
type produces aMakeSpawnReady
(which is, asmentioned, useless).
This change removes the
spawn_ready::make
module and modifiesSpawnReadyLayer
to produceSpawnReady
instances directly.