Stream: t-compiler

Topic: plugin-api-deprecation


oli (Feb 26 2019 at 07:58, on Zulip):

Much of our plugin API now has stable or to-be-stable equivalents. I'd like to add deprecation attributes to the replaceable APIs and remove them after a while

oli (Feb 26 2019 at 07:59, on Zulip):

Is there anything speaking against that or for just outright removal without a deprecation period

oli (Feb 26 2019 at 07:59, on Zulip):

Is there anything speaking against that or for just outright removal without a deprecation period

oli (Feb 26 2019 at 07:59, on Zulip):

Is there anything speaking against that or for just outright removal without a deprecation period

mw (Feb 26 2019 at 10:42, on Zulip):

Is this something we could test with a crater run? Or are the codebases in question unlikely to be on crates.io?

oli (Feb 26 2019 at 11:57, on Zulip):

hm, oops, mobile zulip is repeating messages

oli (Feb 26 2019 at 11:58, on Zulip):

There are definitely codebases using these that are outside crates.io

oli (Feb 26 2019 at 11:58, on Zulip):

e.g. servo uses the lint API

oli (Feb 26 2019 at 11:58, on Zulip):

we're not deprecating that one for now though

oli (Feb 26 2019 at 11:58, on Zulip):

but it would seem to me that others might be using the proc macro APIs

oli (Feb 26 2019 at 11:59, on Zulip):

that's why I want to deprecate so we'll get that information to them

oli (Feb 26 2019 at 12:00, on Zulip):

And for servo I'm trying for a cargo based solution that will make custom drivers first class citizens like plugins instead of the horrible hacks that they are right now.

mw (Feb 26 2019 at 12:28, on Zulip):

I guess technically these APIs were never stable to begin with.

Cem Karan (Feb 27 2019 at 14:56, on Zulip):

Much of our plugin API now has stable or to-be-stable equivalents. I'd like to add deprecation attributes to the replaceable APIs and remove them after a while

I know that unstable features could go away at any moment, but out of politeness sake, I'd suggest that you add deprecation warnings and remove them later. You can probably shorten the warning period though, anyone that is using nightly/beta is aware of the lack guarantees about stability.

centril (Feb 27 2019 at 15:41, on Zulip):

And for servo I'm trying for a cargo based solution that will make custom drivers first class citizens like plugins instead of the horrible hacks that they are right now.

@oli Could you elaborate? How do we expose a linting API without stabilizing parts of AST/Hir/... ?

centril (Feb 27 2019 at 15:42, on Zulip):

As for getting rid of plugin APIs: :tada:, the sooner the better

oli (Feb 27 2019 at 18:21, on Zulip):

We don't expose it via plugins but via drivers. Just like clippy is doing it. Still won't be stable, but we'll not need dynamic loading of libraries that link against the compiler anymore

Last update: Nov 20 2019 at 01:10UTC