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

Further refinements on ref assemblies #19994

Open
9 tasks
jcouv opened this issue Jun 2, 2017 · 3 comments
Open
9 tasks

Further refinements on ref assemblies #19994

jcouv opened this issue Jun 2, 2017 · 3 comments
Assignees
Milestone

Comments

@jcouv
Copy link
Member

jcouv commented Jun 2, 2017

This is a list of possible future improvements (following dev15.3 refout work).

For the record, one issue with refout is that if you have InternalsVisibleTo in your program we will include more types and more dependencies into the ref assembly. This was raised by Eric StJohn.

@jcouv jcouv added this to the 15.6 milestone Jun 2, 2017
@jcouv jcouv self-assigned this Jun 2, 2017
@jcouv jcouv modified the milestones: 15.later, 15.6 Jun 10, 2017
@jaredpar jaredpar added the Bug label Jun 15, 2017
@jcouv jcouv modified the milestones: 16.0, 15.later Aug 1, 2017
@sharwell
Copy link
Member

@jcouv I cannot find an issue describing the long-term behavior of fields of structs. Analysis in #19067 and other analyzers aimed at detecting misuse of mutable value types requires that reference assemblies contain private fields. I'm planning to proceed as though these fields will continue to not be stripped, as changes to this behavior would cause substantial downstream limitations.

@jcouv
Copy link
Member Author

jcouv commented Feb 23, 2018

@sharwell If a struct only contains private fields, it is safe to assume that in a ref assembly it will always contain at least one private field (but maybe not all).
If you b think stripping any private field is a problem, let me know.

@sharwell
Copy link
Member

sharwell commented Mar 8, 2018

If you b think stripping any private field is a problem, let me know.

The analyzers rely on all fields (of value types) remaining intact for correctness.

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

No branches or pull requests

3 participants