Skip to content
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

dangerous use of internal Armadillo structures #915

Closed
conradsnicta opened this issue Mar 6, 2017 · 4 comments
Closed

dangerous use of internal Armadillo structures #915

conradsnicta opened this issue Mar 6, 2017 · 4 comments

Comments

@conradsnicta
Copy link
Contributor

conradsnicta commented Mar 6, 2017

I've noticed that the code uses a whole bunch of internal Armadillo structures and functions. This is not a good idea. The following commit uses internal Armadillo structures such as unwrap and Proxy, which are not guaranteed to be stable across Armadillo releases.
commit: 2e6aa3e

As per the Armadillo API Version Policy, the underlying internal implementation details may change across consecutive minor versions. Only the functions explicitly documented in http://arma.sourceforge.net/docs.html are guaranteed to be stable.

There is also a further issue: due to the heavy use of template meta-programming within Armadillo, the use of the auto keyword is problematic.

@conradsnicta
Copy link
Contributor Author

conradsnicta commented Mar 6, 2017

See also my comments in #895

#895 (comment)

@rcurtin
Copy link
Member

rcurtin commented Mar 6, 2017

Hi Conrad,

I appreciate the comments. I know where you are coming from, but us "breaking the rules" like this is nothing new and something we've often had to do to get the goals that we want. Sometimes, we do pay the price for this when things change, and this is ok---we generally end up with some amount of #ifdef's to wrap/backport/forward-port the support that we actually need to accomplish our goals.

I'll address #895 comments there.

Thanks,

Ryan

@rcurtin rcurtin closed this as completed Mar 6, 2017
@conradsnicta
Copy link
Contributor Author

I believe in many cases it's entirely feasible to avoid using internal armadillo structures. I've provided a specific examples in the comments to #895

@rcurtin
Copy link
Member

rcurtin commented Mar 6, 2017

Yes, I see what you mean now, thanks for the clarification. Possibly my imagination is lacking. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants