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

Collection of issues with byref analysis #862

Closed
6 tasks done
dsyme opened this issue Jan 8, 2016 · 7 comments
Closed
6 tasks done

Collection of issues with byref analysis #862

dsyme opened this issue Jan 8, 2016 · 7 comments
Labels
Bug Impact-High (Internal MS Team use only) Describes an issue with extreme impact on existing code.
Milestone

Comments

@dsyme
Copy link
Contributor

dsyme commented Jan 8, 2016

There are a number of holes in checking the use of byref values. I'm collecting these into one issue since if we fix any one of them we may as well go through and address them all.

Addressed:

I'll close the individual bug entries and reactivate if we don't fix them all in one go.

@kbattocchi
Copy link
Contributor

Would it make sense to tackle (parts of) this planned User Voice item at the same time, since it will also affect the safety rules by loosening them in some cases?

@kbattocchi
Copy link
Contributor

Regarding my last comment, byref locals and returns have now been merged into the Roslyn tree - see here.

@cartermp
Copy link
Contributor

@dsyme / @TIHan is it worth going through this list again to see what/if should be improved given the recent work?

@TIHan
Copy link
Contributor

TIHan commented Aug 13, 2018

This is worth going through.

@TIHan
Copy link
Contributor

TIHan commented Aug 13, 2018

I've updated the checklist.

These still have issues:

@TIHan
Copy link
Contributor

TIHan commented Aug 13, 2018

The tupling one is a bit more concerning. We need to always error if we can't guarantee the compiler will not make a tuple, which we do in some situations. For example, this will not compile:

type Test() =

    static member Cool(r: inref<int>, x: int) = ()

type Test2() =

    static member Dooby((r: inref<int>, x: int) as y) =
        Test.Cool y

@TIHan TIHan self-assigned this Aug 13, 2018
@TIHan TIHan added Impact-High (Internal MS Team use only) Describes an issue with extreme impact on existing code. and removed Impact-Medium (Internal MS Team use only) Describes an issue with moderate impact on existing code. labels Aug 13, 2018
@cartermp cartermp added this to the 15.9 milestone Aug 19, 2018
@TIHan
Copy link
Contributor

TIHan commented Aug 29, 2018

We have resolved these in 15.9 now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Impact-High (Internal MS Team use only) Describes an issue with extreme impact on existing code.
Projects
None yet
Development

No branches or pull requests

4 participants