Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.

Conversation

@bettinaheim
Copy link
Contributor

@bettinaheim bettinaheim commented Aug 19, 2020

This PR
1.) adds support for inferring type arguments for direct recursions
2.) prevents the assignment of type parametrized callables within the parent callable, including
a) bindings in let, mutable, set, and return statements
b) we don't give separate diagnostics for copy-and-update expressions (already covered by a))
This fixes in particular #574.

More or less, 1. requires the changes in ExpressionVerification.fs, and 2. requires the changes in StatementVerification.fs.

This PR requires that microsoft/qsharp-runtime#351 is merged first.

@ScottCarda-MS
Copy link
Contributor

ScottCarda-MS commented Aug 19, 2020

I've made some suggestions to the references in the test, but it's hard to tell if it was done intentionally or if it was just a copy-paste issue. It would really help if the tests were named in a way that conveyed what they were testing rather than the generic "VariableDeclaration#". Maybe a doc comment for each of them describing the scenario being tested would give a bit more room to be more verbose in explaining what they are for. Without that, it can be a bit difficult to tell what the goal was for each.

Copy link
Contributor

@bamarsha bamarsha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only sort of understand the verification code, but it seems reasonable, thanks for fixing this!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants