From 1f10fa4d58f2b2a24a52f2390107d558fa92f5a3 Mon Sep 17 00:00:00 2001 From: Steffen Forkmann Date: Wed, 25 May 2016 16:01:11 +0200 Subject: [PATCH 1/2] Better error reporting in case of object initializers - fixes #1218 --- src/fsharp/ConstraintSolver.fs | 71 +++++++++++-------- src/fsharp/FSComp.txt | 2 + tests/fsharp/typecheck/sigs/neg15.bsl | 2 +- .../Source/Warnings/ExtraArgumentInCtor.fs | 10 +++ .../Source/Warnings/ExtraArgumentInCtor2.fs | 11 +++ .../Source/Warnings/MissingCommaInCtor.fs | 11 +++ .../Source/Warnings/MissingCtorValue.fs | 11 +++ tests/fsharpqa/Source/Warnings/env.lst | 4 ++ 8 files changed, 92 insertions(+), 30 deletions(-) create mode 100644 tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor.fs create mode 100644 tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor2.fs create mode 100644 tests/fsharpqa/Source/Warnings/MissingCommaInCtor.fs create mode 100644 tests/fsharpqa/Source/Warnings/MissingCtorValue.fs diff --git a/src/fsharp/ConstraintSolver.fs b/src/fsharp/ConstraintSolver.fs index f0635638525..2866478cdcc 100644 --- a/src/fsharp/ConstraintSolver.fs +++ b/src/fsharp/ConstraintSolver.fs @@ -2007,17 +2007,16 @@ and ReportNoCandidatesError (csenv:ConstraintSolverEnv) (nUnnamedCallerArgs,nNam // No version accessible | ([],others),_,_,_,_ -> if isNil others then - ErrorD (Error (FSComp.SR.csMemberIsNotAccessible(methodName, (ShowAccessDomain ad)), m)) + Error (FSComp.SR.csMemberIsNotAccessible(methodName, (ShowAccessDomain ad)), m) else - ErrorD (Error (FSComp.SR.csMemberIsNotAccessible2(methodName, (ShowAccessDomain ad)), m)) + Error (FSComp.SR.csMemberIsNotAccessible2(methodName, (ShowAccessDomain ad)), m) | _,([],(cmeth::_)),_,_,_ -> - // Check all the argument types. - - if (cmeth.CalledObjArgTys(m).Length <> 0) then - ErrorD(Error (FSComp.SR.csMethodIsNotAStaticMethod(methodName),m)) + // Check all the argument types. + if cmeth.CalledObjArgTys(m).Length <> 0 then + Error (FSComp.SR.csMethodIsNotAStaticMethod(methodName),m) else - ErrorD(Error (FSComp.SR.csMethodIsNotAnInstanceMethod(methodName),m)) + Error (FSComp.SR.csMethodIsNotAnInstanceMethod(methodName),m) // One method, incorrect name/arg assignment | _,_,_,_,([],[cmeth]) -> @@ -2038,52 +2037,65 @@ and ReportNoCandidatesError (csenv:ConstraintSolverEnv) (nUnnamedCallerArgs,nNam else msgNum,FSComp.SR.csMemberHasNoArgumentOrReturnProperty(methodName, id.idText, msgText),id.idRange | [] -> (msgNum,msgText,m) - ErrorD (Error ((msgNum,msgText),msgRange)) + Error ((msgNum,msgText),msgRange) // One method, incorrect number of arguments provided by the user | _,_,([],[cmeth]),_,_ when not cmeth.HasCorrectArity -> let minfo = cmeth.Method let nReqd = cmeth.TotalNumUnnamedCalledArgs - let nReqdNamed = cmeth.TotalNumAssignedNamedArgs let nActual = cmeth.TotalNumUnnamedCallerArgs - let nreqdTyArgs = cmeth.NumCalledTyArgs - let nactualTyArgs = cmeth.NumCallerTyArgs let signature = NicePrint.stringOfMethInfo amap m denv minfo - if nActual <> nReqd then - if nReqdNamed > 0 || cmeth.NumAssignedProps > 0 then - if nReqd > nActual then + if nActual = nReqd then + let nreqdTyArgs = cmeth.NumCalledTyArgs + let nactualTyArgs = cmeth.NumCallerTyArgs + Error (FSComp.SR.csMemberSignatureMismatchArityType(methodName, nreqdTyArgs, nactualTyArgs, signature), m) + else + let nReqdNamed = cmeth.TotalNumAssignedNamedArgs + + if nReqdNamed = 0 && cmeth.NumAssignedProps = 0 then + if minfo.IsConstructor then + let couldBeNameArgs = + cmeth.ArgSets + |> List.exists (fun argSet -> + argSet.UnnamedCallerArgs + |> List.exists (fun c -> c.Expr.ToString().EndsWith "Sequential")) + + if couldBeNameArgs then + Error (FSComp.SR.csCtorSignatureMismatchArityProp(methodName, nReqd, nActual, signature), m) + else + Error (FSComp.SR.csCtorSignatureMismatchArity(methodName, nReqd, nActual, signature), m) + else + Error (FSComp.SR.csMemberSignatureMismatchArity(methodName, nReqd, nActual, signature), m) + else + if nReqd > nActual then let diff = nReqd - nActual let missingArgs = List.drop nReqd cmeth.AllUnnamedCalledArgs match NamesOfCalledArgs missingArgs with - | [] -> + | [] -> if nActual = 0 then - ErrorD (Error (FSComp.SR.csMemberSignatureMismatch(methodName, diff, signature), m)) + Error (FSComp.SR.csMemberSignatureMismatch(methodName, diff, signature), m) else - ErrorD (Error (FSComp.SR.csMemberSignatureMismatch2(methodName, diff, signature), m)) + Error (FSComp.SR.csMemberSignatureMismatch2(methodName, diff, signature), m) | names -> let str = String.concat ";" (pathOfLid names) if nActual = 0 then - ErrorD (Error (FSComp.SR.csMemberSignatureMismatch3(methodName, diff, signature, str), m)) - else - ErrorD (Error (FSComp.SR.csMemberSignatureMismatch4(methodName, diff, signature, str), m)) + Error (FSComp.SR.csMemberSignatureMismatch3(methodName, diff, signature, str), m) + else + Error (FSComp.SR.csMemberSignatureMismatch4(methodName, diff, signature, str), m) else - ErrorD (Error (FSComp.SR.csMemberSignatureMismatchArityNamed(methodName, (nReqd+nReqdNamed), nActual, nReqdNamed, signature), m)) - else - ErrorD (Error (FSComp.SR.csMemberSignatureMismatchArity(methodName, nReqd, nActual, signature), m)) - else - ErrorD (Error (FSComp.SR.csMemberSignatureMismatchArityType(methodName, nreqdTyArgs, nactualTyArgs, signature), m)) + Error (FSComp.SR.csMemberSignatureMismatchArityNamed(methodName, (nReqd+nReqdNamed), nActual, nReqdNamed, signature), m) // One or more accessible, all the same arity, none correct | ((cmeth :: cmeths2),_),_,_,_,_ when not cmeth.HasCorrectArity && cmeths2 |> List.forall (fun cmeth2 -> cmeth.TotalNumUnnamedCalledArgs = cmeth2.TotalNumUnnamedCalledArgs) -> - ErrorD (Error (FSComp.SR.csMemberNotAccessible(methodName, nUnnamedCallerArgs, methodName, cmeth.TotalNumUnnamedCalledArgs),m)) + Error (FSComp.SR.csMemberNotAccessible(methodName, nUnnamedCallerArgs, methodName, cmeth.TotalNumUnnamedCalledArgs),m) // Many methods, all with incorrect number of generic arguments | _,_,_,([],(cmeth :: _)),_ -> let msg = FSComp.SR.csIncorrectGenericInstantiation((ShowAccessDomain ad), methodName, cmeth.NumCallerTyArgs) - ErrorD (Error (msg,m)) + Error (msg,m) // Many methods of different arities, all incorrect | _,_,([],(cmeth :: _)),_,_ -> let minfo = cmeth.Method - ErrorD (Error (FSComp.SR.csMemberOverloadArityMismatch(methodName, cmeth.TotalNumUnnamedCallerArgs, (List.sum minfo.NumArgs)),m)) + Error (FSComp.SR.csMemberOverloadArityMismatch(methodName, cmeth.TotalNumUnnamedCallerArgs, (List.sum minfo.NumArgs)),m) | _ -> let msg = if nNamedCallerArgs = 0 then @@ -2095,7 +2107,8 @@ and ReportNoCandidatesError (csenv:ConstraintSolverEnv) (nUnnamedCallerArgs,nNam else let sample = s.MinimumElement FSComp.SR.csNoMemberTakesTheseArguments3((ShowAccessDomain ad), methodName, nUnnamedCallerArgs, sample) - ErrorD (Error (msg,m)) + Error (msg,m) + |> ErrorD // Resolve the overloading of a method diff --git a/src/fsharp/FSComp.txt b/src/fsharp/FSComp.txt index 0d4a6ce930c..d8561cfb91a 100644 --- a/src/fsharp/FSComp.txt +++ b/src/fsharp/FSComp.txt @@ -343,6 +343,8 @@ csCtorHasNoArgumentOrReturnProperty,"The object constructor '%s' has no argument 499,csMemberSignatureMismatch4,"The member or object constructor '%s' requires %d additional argument(s). The required signature is '%s'. Some names for missing arguments are %s." 500,csMemberSignatureMismatchArityNamed,"The member or object constructor '%s' requires %d argument(s) but is here given %d unnamed and %d named argument(s). The required signature is '%s'." 501,csMemberSignatureMismatchArity,"The member or object constructor '%s' takes %d argument(s) but is here given %d. The required signature is '%s'." +501,csCtorSignatureMismatchArity,"The object constructor '%s' takes %d argument(s) but is here given %d. The required signature is '%s'." +501,csCtorSignatureMismatchArityProp,"The object constructor '%s' takes %d argument(s) but is here given %d. The required signature is '%s'. If some of the arguments are meant to assign values to properties, consider separating those arguments with a comma (',')." 502,csMemberSignatureMismatchArityType,"The member or object constructor '%s' takes %d type argument(s) but is here given %d. The required signature is '%s'." 503,csMemberNotAccessible,"A member or object constructor '%s' taking %d arguments is not accessible from this code location. All accessible versions of method '%s' take %d arguments." 504,csIncorrectGenericInstantiation,"Incorrect generic instantiation. No %s member named '%s' takes %d generic arguments." diff --git a/tests/fsharp/typecheck/sigs/neg15.bsl b/tests/fsharp/typecheck/sigs/neg15.bsl index f3bba5188b8..e31587fe171 100644 --- a/tests/fsharp/typecheck/sigs/neg15.bsl +++ b/tests/fsharp/typecheck/sigs/neg15.bsl @@ -81,4 +81,4 @@ neg15.fs(190,1,190,6): typecheck error FS0491: The member or object constructor neg15.fs(191,1,191,8): typecheck error FS0491: The member or object constructor 'SM' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions. -neg15.fs(204,11,204,16): typecheck error FS0501: The member or object constructor 'X2' takes 0 argument(s) but is here given 1. The required signature is 'new : unit -> X2'. +neg15.fs(204,11,204,16): typecheck error FS0501: The object constructor 'X2' takes 0 argument(s) but is here given 1. The required signature is 'new : unit -> X2'. If some of the arguments are meant to assign values to properties, consider separating those arguments with a comma (','). diff --git a/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor.fs b/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor.fs new file mode 100644 index 00000000000..a173a1f6fec --- /dev/null +++ b/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor.fs @@ -0,0 +1,10 @@ +// #Warnings +//The object constructor 'Person' takes 0 argument(s) but is here given 1. The required signature is 'new : unit -> Person'.$ + +type Person() = + member val Name = "" with get,set + member val Age = 0 with get,set + + +let p = + Person(1) \ No newline at end of file diff --git a/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor2.fs b/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor2.fs new file mode 100644 index 00000000000..057d1f893d2 --- /dev/null +++ b/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor2.fs @@ -0,0 +1,11 @@ +// #Warnings +//The object constructor 'Person' takes 0 argument(s) but is here given 1. The required signature is 'new : unit -> Person'.$ + +type Person() = + member val Name = "" with get,set + member val Age = 0 with get,set + +let b = 1 + +let p = + Person(1=b) \ No newline at end of file diff --git a/tests/fsharpqa/Source/Warnings/MissingCommaInCtor.fs b/tests/fsharpqa/Source/Warnings/MissingCommaInCtor.fs new file mode 100644 index 00000000000..6f59b2ab5c0 --- /dev/null +++ b/tests/fsharpqa/Source/Warnings/MissingCommaInCtor.fs @@ -0,0 +1,11 @@ +// #Warnings +//The object constructor 'Person' takes 0 argument(s) but is here given 1. The required signature is 'new : unit -> Person'. If some of the arguments are meant to assign values to properties, consider separating those arguments with a comma (','). + +type Person() = + member val Name = "" with get,set + member val Age = 0 with get,set + + +let p = + Person(Name = "Fred" + Age = 18) \ No newline at end of file diff --git a/tests/fsharpqa/Source/Warnings/MissingCtorValue.fs b/tests/fsharpqa/Source/Warnings/MissingCtorValue.fs new file mode 100644 index 00000000000..f7760f01a0f --- /dev/null +++ b/tests/fsharpqa/Source/Warnings/MissingCtorValue.fs @@ -0,0 +1,11 @@ +// #Warnings +//The member or object constructor 'Person' requires 1 argument(s). The required signature is 'new : x:int -> Person'. + +type Person(x:int) = + member val Name = "" with get,set + member val Age = x with get,set + + +let p = + Person(Name = "Fred", + Age = 18) \ No newline at end of file diff --git a/tests/fsharpqa/Source/Warnings/env.lst b/tests/fsharpqa/Source/Warnings/env.lst index bddb7e6c932..ca9028b14da 100644 --- a/tests/fsharpqa/Source/Warnings/env.lst +++ b/tests/fsharpqa/Source/Warnings/env.lst @@ -6,6 +6,10 @@ SOURCE=TupleInAbstractMethod.fs # TupleInAbstractMethod.fs SOURCE=InvalidRecord.fs # InvalidRecord.fs SOURCE=CommaInRecCtor.fs # CommaInRecCtor.fs + SOURCE=MissingCommaInCtor.fs # MissingCommaInCtor.fs + SOURCE=MissingCtorValue.fs # MissingCtorValue.fs + SOURCE=ExtraArgumentInCtor.fs # ExtraArgumentInCtor.fs + SOURCE=ExtraArgumentInCtor2.fs # ExtraArgumentInCtor2.fs SOURCE=ValidCommaInRecCtor.fs # ValidCommaInRecCtor.fs SOURCE=FS0988AtEndOfFile.fs # FS0988AtEndOfFile.fs SOURCE=WrongArity.fs # WrongArity.fs From 1c97a2a23bea2e02c920684d92e906576bd54777 Mon Sep 17 00:00:00 2001 From: Steffen Forkmann Date: Fri, 16 Dec 2016 15:56:31 +0100 Subject: [PATCH 2/2] fix tests --- tests/fsharp/typecheck/sigs/neg15.bsl | 2 +- .../Attributes/Diags/E_AdjustUses01a.fs | 2 +- .../Attributes/Diags/E_AdjustUses01b.fs | 2 +- .../Attributes/Legacy/Test01.fs | 6 +++--- .../Attributes/Legacy/Test02.fs | 6 +++--- .../Attributes/Legacy/Test03.fs | 4 ++-- .../Attributes/Legacy/Test04.fs | 6 +++--- .../Attributes/Legacy/Test05.fs | 6 +++--- .../Attributes/Legacy/Test06.fs | 4 ++-- .../Attributes/Legacy/Test07.fs | 4 ++-- .../Attributes/Legacy/Test08.fs | 4 ++-- .../Attributes/Legacy/Test09.fs | 2 +- .../Attributes/Legacy/Test10.fs | 6 +++--- .../Attributes/Legacy/Test11.fs | 6 +++--- .../Attributes/Legacy/Test12.fs | 4 ++-- .../Attributes/Legacy/Test13.fs | 6 +++--- .../Attributes/Legacy/Test14.fs | 6 +++--- .../Attributes/Legacy/Test15.fs | 4 ++-- .../Attributes/Legacy/Test16.fs | 4 ++-- .../Attributes/Legacy/Test17.fs | 4 ++-- .../Attributes/Legacy/Test18.fs | 2 +- .../Attributes/Legacy/Test19.fs | 4 ++-- .../Attributes/Legacy/Test20.fs | 4 ++-- .../Attributes/Legacy/Test21.fs | 2 +- .../Attributes/Legacy/Test22.fs | 4 ++-- .../Attributes/Legacy/Test23.fs | 4 ++-- .../Attributes/Legacy/Test24.fs | 2 +- .../Attributes/Legacy/Test25.fs | 2 +- .../Attributes/Legacy/Test26.fs | 2 +- .../Attributes/Legacy/Test28.fs | 2 +- tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor.fs | 2 +- tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor2.fs | 2 +- tests/fsharpqa/Source/Warnings/MissingCommaInCtor.fs | 2 +- tests/fsharpqa/Source/Warnings/MissingCtorValue.fs | 2 +- 34 files changed, 62 insertions(+), 62 deletions(-) diff --git a/tests/fsharp/typecheck/sigs/neg15.bsl b/tests/fsharp/typecheck/sigs/neg15.bsl index e31587fe171..1f85ea485a0 100644 --- a/tests/fsharp/typecheck/sigs/neg15.bsl +++ b/tests/fsharp/typecheck/sigs/neg15.bsl @@ -81,4 +81,4 @@ neg15.fs(190,1,190,6): typecheck error FS0491: The member or object constructor neg15.fs(191,1,191,8): typecheck error FS0491: The member or object constructor 'SM' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions. -neg15.fs(204,11,204,16): typecheck error FS0501: The object constructor 'X2' takes 0 argument(s) but is here given 1. The required signature is 'new : unit -> X2'. If some of the arguments are meant to assign values to properties, consider separating those arguments with a comma (','). +neg15.fs(204,11,204,16): typecheck error FS0501: The object constructor 'X2' takes 0 argument(s) but is here given 1. The required signature is 'new : unit -> X2'. diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Diags/E_AdjustUses01a.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Diags/E_AdjustUses01a.fs index d2eb08a95af..f4099f83728 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Diags/E_AdjustUses01a.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Diags/E_AdjustUses01a.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes #Diagnostics // Regression test for FSHARP1.0:5406 // Scenario #2: I'm writing my own custom IComparable implementation - don't bother giving me one -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ [] [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Diags/E_AdjustUses01b.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Diags/E_AdjustUses01b.fs index 23e5be79a01..93b928b3daa 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Diags/E_AdjustUses01b.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Diags/E_AdjustUses01b.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes #Diagnostics // Regression test for FSHARP1.0:5406 // Scenario #1: I'm not writing my own custom IComparable implementation, assume the reference equality -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ [] [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test01.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test01.fs index cb273aa33af..1fea4b200e3 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test01.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test01.fs @@ -1,8 +1,8 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M01 = [] [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test02.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test02.fs index 64d98df4e80..a8a78e3effe 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test02.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test02.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M02 = diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test03.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test03.fs index 27ca25b46c4..02ef7b86a0e 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test03.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test03.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ module M03 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test04.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test04.fs index c844873ca29..af9e0cb3309 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test04.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test04.fs @@ -1,8 +1,8 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M04 = [] [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test05.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test05.fs index 2245958f6c3..d1661a1301b 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test05.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test05.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M05 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test06.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test06.fs index 7d71ff96f18..a0786a43e36 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test06.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test06.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ module M06 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test07.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test07.fs index f46a1f4a210..1182c2fc956 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test07.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test07.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M07 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test08.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test08.fs index d3bf8af4c17..71f99fac753 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test08.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test08.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M08 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test09.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test09.fs index 035a5b34549..871605c9c7d 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test09.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test09.fs @@ -1,6 +1,6 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ module M09 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test10.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test10.fs index d755a85bb42..745dfee5fed 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test10.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test10.fs @@ -1,8 +1,8 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M10 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test11.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test11.fs index e4a2dd19d5a..6938b15b8fd 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test11.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test11.fs @@ -1,8 +1,8 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M11 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test12.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test12.fs index 49cecef6c7b..40c055ab904 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test12.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test12.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ module M12 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test13.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test13.fs index 4689bcac743..83cb6602d79 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test13.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test13.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M13 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test14.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test14.fs index 41afe9ba95c..712a36ce9bd 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test14.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test14.fs @@ -1,8 +1,8 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M14 = diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test15.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test15.fs index a3df69c474d..e4653388628 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test15.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test15.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ module M15 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test16.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test16.fs index 3c3dda1027c..13017437bf9 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test16.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test16.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M16 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test17.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test17.fs index 117f7d24e31..40c619cc110 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test17.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test17.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M17 = [] (* [] *) diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test18.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test18.fs index 4c853a08b97..6baa497d41f 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test18.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test18.fs @@ -1,6 +1,6 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ +//The object constructor 'ReferenceEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> ReferenceEqualityAttribute'\.$ module M18 = [] diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test19.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test19.fs index 09ac8e1d7b6..e456ae03d45 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test19.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test19.fs @@ -1,6 +1,6 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M19 = (* [] *) diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test20.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test20.fs index 74099998d8a..ca4624c96f1 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test20.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test20.fs @@ -1,6 +1,6 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M20 = (* [] *) diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test21.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test21.fs index afda055128d..62190a2edec 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test21.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test21.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ module M21 = (* [] *) diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test22.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test22.fs index 519a2dedee4..5c646bf10b7 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test22.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test22.fs @@ -1,6 +1,6 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M22 = (* [] *) diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test23.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test23.fs index af351b1246d..36ac19e1e99 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test23.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test23.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M23 = diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test24.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test24.fs index 7c4a70070ae..3ac68f9b637 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test24.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test24.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ +//The object constructor 'StructuralComparisonAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralComparisonAttribute'\.$ module M24 = (* [] *) diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test25.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test25.fs index e2c7eae788b..a4a8db15d12 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test25.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test25.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M25 = (* [] *) diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test26.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test26.fs index 98f7b90970b..3d9ef4ac930 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test26.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test26.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ module M26 = (* [] *) diff --git a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test28.fs b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test28.fs index e265847ebf7..d9cbc3500ba 100644 --- a/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test28.fs +++ b/tests/fsharpqa/Source/Conformance/BasicTypeAndModuleDefinitions/GeneratedEqualityHashingComparison/Attributes/Legacy/Test28.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #GeneratedEqualityAndHashing #Attributes // Regression test for FSHARP1.0:4571 -//The member or object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ +//The object constructor 'StructuralEqualityAttribute' takes 0 argument\(s\) but is here given 1\. The required signature is 'new : unit -> StructuralEqualityAttribute'\.$ [] //[] [] diff --git a/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor.fs b/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor.fs index a173a1f6fec..794245b450b 100644 --- a/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor.fs +++ b/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor.fs @@ -1,5 +1,5 @@ // #Warnings -//The object constructor 'Person' takes 0 argument(s) but is here given 1. The required signature is 'new : unit -> Person'.$ +//The object constructor 'Person' takes 0 argument\(s\) but is here given 1. The required signature is 'new : unit -> Person'.$ type Person() = member val Name = "" with get,set diff --git a/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor2.fs b/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor2.fs index 057d1f893d2..c73f250c551 100644 --- a/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor2.fs +++ b/tests/fsharpqa/Source/Warnings/ExtraArgumentInCtor2.fs @@ -1,5 +1,5 @@ // #Warnings -//The object constructor 'Person' takes 0 argument(s) but is here given 1. The required signature is 'new : unit -> Person'.$ +//The object constructor 'Person' takes 0 argument\(s\) but is here given 1. The required signature is 'new : unit -> Person'.$ type Person() = member val Name = "" with get,set diff --git a/tests/fsharpqa/Source/Warnings/MissingCommaInCtor.fs b/tests/fsharpqa/Source/Warnings/MissingCommaInCtor.fs index 6f59b2ab5c0..6c407bc6c4e 100644 --- a/tests/fsharpqa/Source/Warnings/MissingCommaInCtor.fs +++ b/tests/fsharpqa/Source/Warnings/MissingCommaInCtor.fs @@ -1,5 +1,5 @@ // #Warnings -//The object constructor 'Person' takes 0 argument(s) but is here given 1. The required signature is 'new : unit -> Person'. If some of the arguments are meant to assign values to properties, consider separating those arguments with a comma (','). +//The object constructor 'Person' takes 0 argument\(s\) but is here given 1. The required signature is 'new : unit -> Person'. If some of the arguments are meant to assign values to properties, consider separating those arguments with a comma \(','\). type Person() = member val Name = "" with get,set diff --git a/tests/fsharpqa/Source/Warnings/MissingCtorValue.fs b/tests/fsharpqa/Source/Warnings/MissingCtorValue.fs index f7760f01a0f..c90377be50b 100644 --- a/tests/fsharpqa/Source/Warnings/MissingCtorValue.fs +++ b/tests/fsharpqa/Source/Warnings/MissingCtorValue.fs @@ -1,5 +1,5 @@ // #Warnings -//The member or object constructor 'Person' requires 1 argument(s). The required signature is 'new : x:int -> Person'. +//The member or object constructor 'Person' requires 1 argument\(s\). The required signature is 'new : x:int -> Person'. type Person(x:int) = member val Name = "" with get,set