I compile the 20.0-rc1, and build the doc myself. And I learn that gen_fsm module is deprecated. When compiled the source code, an error will be occured:
Warning: gen_fsm:start_link/3 is deprecated and will be removed in a future release; use gen_statem:start/3
Or something else.
When I look into the doc, the gen_fsm module's all function docs are deleted, and I check the doc source, it is modified.
But I think the function doc should be remaind, there are still a lot of projects using gen_fsm. When we look into doc, we can get the function meaning as before.
Just like the module random. The random module is deprecated, but the function docs are not deleted, we can still refer to it.
The docs for gen_fsm are still available at erlang.org, and will be also after 20, but not in the latest version thats all. It is really simple to migrate a gen_fsm to a gen_statem and the 20 gen_fsm man page gives an example of how. The random module is sort of semi deprecated and is not representative of how things have been deprecated before. When changing the crypto API a while back all documentation of deprecated functions where removed at the same time as the compiler started to warn. I belive we have not added the compiler warnings for random yet. Of course the code for gen_fsm will still be around for some time due to backwardscompatibilit reasons but we want to discurage all use of it.