Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upTracking issue for std::dynamic_lib #27810
Comments
alexcrichton
added
E-easy
B-unstable
T-libs
labels
Aug 13, 2015
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
Yeah if we remove from the standard library I'd definitely at least want an external crate with this functionality. That being said the standard library does indeed use this as an implementation detail for various aspects, so that may be a good indicator that it should be in libstd to begin with. |
This comment has been minimized.
This comment has been minimized.
|
I so far found a several problems with the API exposed currently: Some of the exposed methods are not cross-platform or might not do what’s intended. Most notably the methods dealing with search pathes… On Windows it doesn’t use AddDllDirectory/SetDllDirectory and manipulates environment instead. Man pages claim that on unix
Publicly exposed Finally, I feel like there should be a simple way to prevent using symbols after the library is dropped, by e.g. returning |
This comment has been minimized.
This comment has been minimized.
|
FWIW there is a crate which is just a copy of the unstable API from libstd, and if the crates.io download count is to be believed it has rather widespread usage. |
This comment has been minimized.
This comment has been minimized.
|
It seems like we should probably be deprecating and removing the in-tree version of this. The API's pretty bad right now and improvements should probably be prototyped out of tree. |
sfackler
added
the
I-nominated
label
Sep 17, 2015
This comment has been minimized.
This comment has been minimized.
|
I’m experimenting with various options on my free time: libloading |
This comment has been minimized.
This comment has been minimized.
|
This issue is now entering its cycle-long FCP for deprecation in 1.5 |
alexcrichton
added
final-comment-period
and removed
I-nominated
labels
Sep 24, 2015
This comment has been minimized.
This comment has been minimized.
|
There is also the shared_library crate. Would be good to offer an recommended alternative in the compiler message. |
This comment has been minimized.
This comment has been minimized.
|
Really seems like a systems language should have this in std. (I realize we There is also the shared_library https://crates.io/crates/shared_library Would be good to offer an recommended alternative in the compiler message. — |
steveklabnik
added this to the 1.5 milestone
Oct 1, 2015
Manishearth
removed
the
E-easy
label
Oct 2, 2015
This comment has been minimized.
This comment has been minimized.
For Win32 and Win64, all normal pointers are interchangeable, so both function and data pointers can be retrieved fine. Far and near only mattered in the times of Win16. |
This comment has been minimized.
This comment has been minimized.
|
The libs team discussed this today and the decision was to deprecate. |
alexcrichton
added a commit
to alexcrichton/rust
that referenced
this issue
Oct 23, 2015
bors
added a commit
that referenced
this issue
Oct 24, 2015
alexcrichton
added a commit
to alexcrichton/rust
that referenced
this issue
Oct 24, 2015
bors
added a commit
that referenced
this issue
Oct 25, 2015
alexcrichton
added a commit
to alexcrichton/rust
that referenced
this issue
Oct 25, 2015
bors
added a commit
that referenced
this issue
Oct 25, 2015
alexcrichton
added a commit
to alexcrichton/rust
that referenced
this issue
Oct 25, 2015
bors
added a commit
that referenced
this issue
Oct 25, 2015
alexcrichton
added a commit
to alexcrichton/rust
that referenced
this issue
Oct 25, 2015
bors
added a commit
that referenced
this issue
Oct 25, 2015
bors
closed this
in
#29254
Oct 25, 2015
arcnmx
added a commit
to arcnmx/rust
that referenced
this issue
Nov 2, 2015
This comment has been minimized.
This comment has been minimized.
|
For reference - |
This comment has been minimized.
This comment has been minimized.
|
It was deprecated in 1.5. |
alexcrichton commentedAug 13, 2015
This is a tracking issue for the unstable
dynamic_libfeature of the standard library. This module should probably just be made private to the standard library and the compiler rather than being exported for now. A future RFC could decide whether it should be a module in the standard library or not.