This repository was archived by the owner on Jan 12, 2024. It is now read-only.
Commit 89f41c3
authored
QEP 2: Enhanced Array Literals (#983)
* Fix test
* Update keyword comment
* Update doc comment
* Add doc comments
* Use expectedExpr
* Create fresh type parameter for empty arrays
* Use new type inference for concatenation
* Clean up Unify
* Add basic subtyping and constraint support to inference
* Remove duplicate type
* Add Iterates constraint
* Flip iterable and item types, add Satisfy method
* Remove unneeded functions
* Don't error in Unify if types equal
* Use correct subtyping relation in substitutions
* Treat addition and concatenation identically (semigroup)
* Add Equatable and Numeric constraints
* Add tests for empty array error
* Add tests for zero/negative sizes
* Clean up TypeInference.fs
* Factor out constraint checker
* Add basic call expression inference
* Add occurs check
* Use invalid types for fallback case in buildCall
* Add unification failed diagnostic
* Ignore invalid types in unification
* Don't add trivial substitutions
* Fix invalid type unification again
* Replace several exceptions with diagnostics
* Unify in TypeMatchArgument
* Reduce nesting in CheckConstraint
* Simplify type merging and resolution
* Avoid double diagnostics in commonType
* Fix range in inference diagnostics
* Update diagnostic message
* Update apply-and-reassign test
* Ignore missing types in unification
* Use HM for arithmetic ops
* Use HM for integral ops
* Fix remaining copy-and-update array tests
* Use HM for conditional expressions
* Resolve tvars in VerifyAssignment error message
* Use HM for symbol bindings and unwrap
* Add Indexed constraint
* Add back some operation call verification
* Fix variance in call expr arg tuple
* Fix variance in callable type unification
* Resolve type in buildNamedItem
* Resolve type in Constrain
* Resolve LHS in copy and update expression
* Update open-ended range tests
* Add partial application inference
* Resolve type in buildCall
* Add error for ambiguous type variables
* Fix common base type in arrays
* Update VerifyIsInteger
* Unified tuples should have the same length
* Remove type param recursion checks
* Create fresh tvars for all polymorphic identifiers, not just calls
* Add callable constraints
* Fix duplicate error message
* Update access modifier test
* Generate diagnostic for invalid equality
* Finalize HM types before capability diagnostics
* Fix type args on identifiers
* Fix inferred info for call exprs
* Update VerifyIsBoolean
* Update "Local namespace short names" test
* Fix order of tuple binding
* Update "Apply-and-reassign" test
* Update "argument matching" test
* Unify array types as invariant
* Update "Common base type" test
* Fix common base type
* Update type checking tests
* Update variance tests
* Update tests
* Fix partial application
* Add Adjointable and Controllable constraints
* Update "operation characteristics" test
* Remove commented out code
* Update tests
* Formatting
* Fix match warning
* Enable "Concrete Graph Double Reference Resolution" test
* Replace Variance with TypeOrdering
* Add TypeRelation type
* Remove TypeBound
* Apply constraints as soon as params are bound
* Use property
* Remove unnecessary pipes
* Rename things
* Simplify internal type inference API
* Clean up imports
* Remove Relation
* Rename AppliesPartial to HasPartialApplication
* Replace Set with HashSet
* Rewrite CommonBaseType
* Finish cleaning up Inference module
* Fix IsFresh
* Use one dictionary
* Clean up InferenceContext members
* Use consistent expected/actual order in UnifyByOrdering
* Use ResolvedTypes in InferenceContext.Resolve
* Clean up UnifyByOrdering
* Clean up fresh variable naming
* Update tests
* Remove IsFresh
* Remove some unnecessary code
* Clean up ExpressionVerification, remove diagnose callbacks
* Shorter name for inference context
* Add takeDiagnostics function
* More clean up
* Use TypedExpression instead of type * range tuples
* Clean up StatementVerification
* Simplify verifyExpr/verifyExprWith
* Correct range for ambiguous type diagnostics
* Remove ConstraintNotSatisfied and AmbiguousTypeVariable
* Add general type mismatch error codes
* Update tests
* Add range to ResolvedType
* Remove confusing ambiguous type diagnostics
* Remove ambiguous type error for unknown identifiers
* Clean up
* Fix empty array type
* Fix diagnostic range in use/borrow statement
* Generate InvalidArrayItemIndex diagnostic correctly
* Update type checking tests
* Update range info for local variable types
* Compare type params and UDTs without ranges
* Improved message for type mismatch diagnostic
* Fix some diagnostic bugs
* Use TypeContext with combine
* Improve common base type diagnostic
* Fix attaching type args to identifier
* Fix array slicing
* Revert "Fix #885 (#886)"
This reverts commit 3ffd626.
* Add integral constraint tests
* Add iterable constraint tests
* Update occurs check
* Add numeric constraint tests
* Add semigroup constraint tests
* Fix range of combined types
* Add wrapped constraint tests
* Improve missing base type diagnostic
* Remove unneeded type annotations
* Improve diagnostic range in array literal
* Formatting
* Remove type parameter warnings
* Formatting
* Update tests
* Add doc comments
* Add TypeInference folder
* Add signature files
* Rename member
* Update ResolvedType API and doc comments
* Add Hindley-Milner type inference module
* Update CompiledName for withAllRanges
* Add README
* Add result variable
* Fix README typos
* Add leading zeroes to error code
* Simplify check in bind
* Simplify check in bind
* Distinguish between annotated and inferred type ranges
* TP and UDT ranges are obsolete
* Visit range before type kind
* Formatting
* Distinguish between annotated and inferred type ranges
* TP and UDT ranges are obsolete
* Visit range before type kind
* Fix obsolete warnings
* Return Generated range from Intersect
* Return Generated range from Intersect
* Add CompiledNames
* Add CompiledNames
* Remove withSpanningRange
* Clarify subtyping in doc comments
* Update uses of obsolete range property
* Add TypeTransformationBase.OnTypeRange
* Add TODO for removing OnRangeInformation
* Ignore TP and UDT ranges in Bond serializer
* Ignore TP and UDT ranges in Bond deserializer
* Revert "Revert "Fix #885 (#886)""
This reverts commit a665fdd.
* Revert unnecessary changes
* Use HM inference in expression and statement verification
* Update comments
* Deprecate diagnostics
* Update doc comments in ExpressionVerification.fs
* Update LocalVerification.qs
* Refactor commaSep parsers
* Update unused type param warning
* Add TODOs for removing diagnostics
* Fix type param name in diagnostic
* Use OperationCallOutsideOfOperation diagnostic
* Use OperationCallOutsideOfOperation diagnostic
* Deprecate MissingExprInArray diagnostic
* Remove replaceTypeParams
* Remove VerifyNumberedItemAccess
* Rename VerifyArrayItem
* Add doc comment to partialArgType
* Update naming convention
* Nicer exprWithoutTypeArgs
* Clean up exprWithoutTypeArgs again
* Rename verifyConcatenation
* Update verifyUdtWith documentation
* Add range field to QsDeclarationAttribute
* Update SearchAndReplace.cs
* Support sized array in attribute arguments
* Make new record constructors non-extension methods
* Update unused type param message
* Handle SizedArray in code output and optimizations
* constructArray doesn't need to be rec
* Update StripPositionInfoFromType for TypeRange
* Improve ambiguous type error message
* Remove redundant showFunctor
* Better type mismatch error messages
* Restore alignment in error messages
* Add some type parameter inference tests
* Fix UDT constructors
* Rename MissingBaseType to TypeIntersectionMismatch1 parent ed60c81 commit 89f41c3
File tree
61 files changed
+3121
-2400
lines changed- src/QsCompiler
- BondSchemas
- Generated
- CompilationManager
- Core
- SymbolTable
- Transformations
- DataStructures
- Optimizations
- OptimizingTransformations
- Utils
- SyntaxProcessor
- TypeInference
- Tests.Compiler
- TestCases
- OptimizerTests
- TestUtils
- TextProcessor
- CodeCompletion
- Transformations
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
61 files changed
+3121
-2400
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
536 | 536 | | |
537 | 537 | | |
538 | 538 | | |
539 | | - | |
540 | | - | |
541 | | - | |
| 539 | + | |
542 | 540 | | |
543 | 541 | | |
544 | 542 | | |
| |||
675 | 673 | | |
676 | 674 | | |
677 | 675 | | |
678 | | - | |
679 | | - | |
680 | | - | |
| 676 | + | |
681 | 677 | | |
682 | 678 | | |
683 | 679 | | |
| |||
859 | 855 | | |
860 | 856 | | |
861 | 857 | | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
862 | 866 | | |
863 | 867 | | |
864 | 868 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
| 108 | + | |
| 109 | + | |
109 | 110 | | |
110 | 111 | | |
111 | 112 | | |
| |||
126 | 127 | | |
127 | 128 | | |
128 | 129 | | |
129 | | - | |
| 130 | + | |
| 131 | + | |
130 | 132 | | |
131 | 133 | | |
132 | 134 | | |
| |||
203 | 205 | | |
204 | 206 | | |
205 | 207 | | |
206 | | - | |
| 208 | + | |
| 209 | + | |
207 | 210 | | |
208 | 211 | | |
209 | 212 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
| 253 | + | |
253 | 254 | | |
254 | 255 | | |
255 | 256 | | |
| |||
537 | 538 | | |
538 | 539 | | |
539 | 540 | | |
540 | | - | |
541 | | - | |
542 | | - | |
| 541 | + | |
543 | 542 | | |
544 | 543 | | |
545 | 544 | | |
| |||
653 | 652 | | |
654 | 653 | | |
655 | 654 | | |
656 | | - | |
657 | | - | |
658 | | - | |
| 655 | + | |
659 | 656 | | |
660 | 657 | | |
661 | 658 | | |
| |||
868 | 865 | | |
869 | 866 | | |
870 | 867 | | |
| 868 | + | |
871 | 869 | | |
872 | 870 | | |
873 | 871 | | |
| |||
901 | 899 | | |
902 | 900 | | |
903 | 901 | | |
| 902 | + | |
| 903 | + | |
904 | 904 | | |
905 | 905 | | |
906 | 906 | | |
| |||
0 commit comments