diff --git a/compiler/test/dotc/pos-linting.allowlist b/compiler/test/dotc/pos-linting.allowlist new file mode 100644 index 000000000000..41b8123457e6 --- /dev/null +++ b/compiler/test/dotc/pos-linting.allowlist @@ -0,0 +1,995 @@ +10747-onnxmin.scala +10747-shapeless-min.scala +11463.scala +13455.scala +13491.scala +6322.scala +8313.scala +8905.scala +9623.scala +9757.scala +A.scala +AE-9a131723f09b9f77c99c52b709965e580a61706e.scala +Annotations.scala +B.scala +Dynamic.scala +IArrayToArraySeq.scala +Iter2.scala +MathSpec.scala +Monoid.scala +Orderings.scala +Result.scala +SI-4012-b.scala +Transactions.scala +aliasNew.scala +and-inf.scala +andtypes.scala +annotDepMethType.scala +anonClassSubtyping.scala +approximateUnion.scala +argDenot-alpakka.min.scala +array-clone.scala +array-interfaces.scala +arrays3.scala +basicFromTasty.scala +byname-implicits-1.scala +byname-implicits-19.scala +byname-implicits-22.scala +byname-implicits-25.scala +byname-implicits-27.scala +capturedVars.scala +case-signature.scala +caseClassInMethod.scala +caseclass-access.scala +classWithCompObj.scala +cls.scala +collectGenericCC.scala +combine.scala +comma-separated.scala +compare-singletons.scala +complex-self-call.scala +compound.scala +constants.scala +constrs.scala +conversion-function-prototype.scala +default-param-interface.scala +default-super.scala +delambdafy-lambdalift.scala +depmet_1_pos.scala +depmet_implicit_tpbetareduce.scala +derives-obj.scala +doWhile.scala +duplicate-parents.scala +elidable-tparams.scala +enum-companion-first.scala +enum-variance.scala +enums-capture.scala +erased-conforms.scala +erased-lub.scala +erased-typedef.scala +escapingRefs.scala +exhaust_2.scala +exhaust_alternatives.scala +existentials.scala +experimental-erased-2.scala +experimental-inheritance.scala +experimentalExperimental.scala +exponential-spec.scala +export-in-extension-rename.scala +export-proxies.scala +extmethods-2.scala +extmethods.scala +extractor-types.scala +f112.scala +fbounds.scala +fewer-braces.scala +flatten.scala +freezeBounds.scala +gadt-cast-if.scala +gadt-eval.scala +gadt-simpleEQ.scala +gadt-strip-refinement.scala +gadt-upcast.scala +help.scala +hk-subtyping.scala +hk-variance.scala +hk.scala +hkarray.scala +hklower.scala +ho-implicits.scala +i0268.scala +i0290-type-bind-2.scala +i0306.scala +i10080.scala +i10107c.scala +i10116.scala +i10123.scala +i10161.scala +i10242.scala +i10247.scala +i10259.scala +i10311.scala +i10389.scala +i1044.scala +i1047.scala +i10495.scala +i10542.scala +i10638.scala +i10667.scala +i10769.scala +i10951.scala +i10964.scala +i10980.scala +i11015.scala +i11020.scala +i11022.scala +i1103.scala +i11057.scala +i11078.scala +i11078b.scala +i11114.scala +i11163.scala +i11168.scala +i11170a.scala +i11184d.scala +i11223.scala +i11230.scala +i11255.scala +i11420.scala +i11481.scala +i11538a.scala +i11538b.scala +i11556.scala +i11605.scala +i11631.scala +i11631b.scala +i11682.scala +i11712.scala +i11713.scala +i11729.scala +i11731.scala +i11781.scala +i1181.scala +i1181c.scala +i11922.scala +i11955.scala +i11968.scala +i11977.scala +i11981.scala +i11997.scala +i1202c.scala +i1202d.scala +i12072-c.scala +i12072.scala +i12127.scala +i12141.scala +i12168.scala +i1216a.scala +i12180b.scala +i12216.scala +i12218.scala +i12226.scala +i12277.scala +i1235.scala +i12373.scala +i12395.scala +i12396.scala +i12474.scala +i12476.scala +i12478.scala +i12508.scala +i12508a.scala +i12508b.scala +i12508c.scala +i12645.scala +i12655.scala +i12722.scala +i12730.scala +i12754.scala +i12757.scala +i12896.scala +i12915.scala +i12953.scala +i12955.scala +i1307.scala +i13091.scala +i13331.scala +i13346.scala +i13433b.scala +i13460.scala +i13487.scala +i13541.scala +i13548.scala +i13558.scala +i13660.scala +i13668.scala +i13816.scala +i13820.scala +i13842.scala +i13900.scala +i13974a.scala +i13990.scala +i14010.scala +i14061.scala +i14096.scala +i14151b.scala +i14151c.scala +i14152.scala +i14218.http4s.scala +i14349.scala +i14367.scala +i1444.scala +i14451.scala +i1447.scala +i14477.scala +i14494.scala +i14544.scala +i14637.scala +i14642.scala +i14653b.scala +i14656.scala +i14699.scala +i14739.works.scala +i14914.scala +i14966.scala +i1500.scala +i15029.orig.scala +i15029.scala +i1515.scala +i15178.scala +i15216.scala +i15226.scala +i15274.orig.scala +i15448.scala +i15460.scala +i15523.avoid.scala +i15525.scala +i15664.scala +i15673.scala +i1570.scala +i15743.scala +i15813.scala +i15820.scala +i15893.scala +i1590.scala +i15926.contra.scala +i15926.extract.scala +i15926.scala +i15931.scala +i15967.scala +i15983b.scala +i15991.abstract.scala +i16035.scala +i16091.scala +i16105.scala +i16236.scala +i16328.scala +i16339.scala +i16342.scala +i16374a.scala +i1638.scala +i16408.min2.scala +i16408.scala +i16435.avoid.scala +i16451.default.scala +i16464.scala +i16469.scala +i16488.scala +i16544c.scala +i16562.scala +i1661.scala +i16641.scala +i1665.scala +i16777.scala +i16785.scala +i16808.scala +i16954.scala +i16997.scala +i17002.scala +i1704.scala +i17052.scala +i17115.scala +i17230.bootstrap.scala +i17230.orig.scala +i17245.scala +i17380.scala +i17395.scala +i17465.scala +i17525.scala +i17556.scala +i1756.scala +i17588.scala +i1777.scala +i1793.scala +i17948.all.scala +i17948.scala +i1795.scala +i18062.scala +i18083.scala +i18211.scala +i18253.orig.scala +i18253.scala +i18263.orig.scala +i18263.scala +i18275.scala +i18345.scala +i1857.scala +i18649.scala +i1866.scala +i1990a.scala +i2009.scala +i2056.scala +i2071.scala +i2071_1.scala +i2104.scala +i2112.scala +i2140.scala +i2188.scala +i2232.scala +i2234.scala +i2278.scala +i2292.scala +i2324.scala +i2340.scala +i2367.scala +i2397.scala +i2437b.scala +i2468.scala +i2576.scala +i2637.scala +i2672.scala +i2697.scala +i2723.scala +i2749.scala +i2774.scala +i2888.scala +i2941.scala +i2944.scala +i2973.scala +i2981.scala +i2997.scala +i2998.scala +i3050.scala +i3082.scala +i3130c.scala +i3130d.scala +i3139.scala +i3208.scala +i324.scala +i3246.scala +i3248.scala +i3264.scala +i3323.scala +i3488.scala +i3495.scala +i3500.scala +i3542-1.scala +i3564.scala +i3585.scala +i3588.scala +i3607.scala +i3658.scala +i3666-gadt.scala +i3703.scala +i3736.scala +i3955.scala +i3956.scala +i3971.scala +i3976.scala +i4006.scala +i4031.scala +i4166.scala +i4184.scala +i4203.scala +i4316.scala +i4318.scala +i4395b.scala +i4419.scala +i4430.scala +i4466b.scala +i4588.scala +i4623.scala +i4720.scala +i4725.scala +i4753b.scala +i4785.scala +i480a.scala +i4819.scala +i4837.scala +i4854.scala +i4863.scala +i4884.scala +i4906.scala +i4984.scala +i4996.scala +i4999.scala +i5039.scala +i5068-gadt.scala +i5107.scala +i5145.scala +i5188.scala +i5295.scala +i530-import-symbolic.scala +i5309.scala +i536.scala +i540.scala +i5411.scala +i5413-a.scala +i5413-b.scala +i5418.scala +i5481.scala +i5625.scala +i566.scala +i5666.scala +i5699.scala +i5711.scala +i5720.scala +i5765.scala +i5773.scala +i5773a.scala +i5773b.scala +i5794.scala +i5833.scala +i5966.scala +i5970.scala +i6014-gadt.scala +i6126.scala +i6127.scala +i6146.scala +i6199a.scala +i6199b.scala +i6213.scala +i6247.scala +i6286.scala +i6288.scala +i6312b.scala +i6375.scala +i6395.scala +i6450.scala +i6451.scala +i6507b.scala +i6561.scala +i6565.scala +i6655.scala +i6662.scala +i6682b.scala +i6705.scala +i6734.scala +i6745.scala +i6847.scala +i6854.scala +i6864.scala +i6900.scala +i6909.scala +i7034.scala +i7041.scala +i7044.scala +i7056.scala +i7070.scala +i7087.scala +i7103.scala +i7159.scala +i7219c.scala +i7304.scala +i7359.scala +i7383.scala +i7392.scala +i7403.scala +i7414.scala +i743.scala +i7452.scala +i7477.scala +i7516.scala +i7575.scala +i7655.scala +i7739.scala +i7740a.scala +i7744.scala +i7793.scala +i7819.scala +i7840.scala +i7944.scala +i8031.scala +i8083.scala +i8143.scala +i815.scala +i8151.scala +i8188a.scala +i8188b.scala +i8188c.scala +i8198.scala +i8241.scala +i8276.scala +i8319.scala +i8321.scala +i8338.scala +i8357.scala +i8368.scala +i8397.scala +i8404.scala +i8449.scala +i8491.scala +i8516.scala +i8530.scala +i8537.scala +i8750.scala +i8758.scala +i8786.scala +i880.scala +i8801.scala +i8802a.scala +i8825.scala +i8843.scala +i8874.scala +i8881.scala +i8900-cycle.scala +i8900a.scala +i8921.scala +i8963.scala +i8968.scala +i8972.scala +i9046.scala +i9051.scala +i9103.scala +i9150-a.scala +i9150-b.scala +i9213.scala +i9226.scala +i9307.scala +i9342a.scala +i9342c.scala +i939.scala +i9403.scala +i9482.scala +i9509.scala +i9531.scala +i9562.scala +i9626.scala +i9751b.scala +i9775.scala +i9793.scala +i9828.scala +i9833.scala +i9841b.scala +i9844.scala +i9977.scala +i9996.scala +i9999.scala +i9999a.scala +ift-assign.scala +imp2-pos.scala +implicit-dep.scala +implicit-divergent.scala +implicit-scope-loop.scala +implicit-unwrap-tc.scala +implicitDivergenc.scala +implicitFuns.scala +implicitonSelect.scala +indent3.scala +inf.scala +infer.scala +infer2-pos.scala +inferOverloaded.scala +inferred.scala +injectivity-gadt.scala +inline-i1773.scala +inline-named-typeargs.scala +inline-rewrite.scala +inline-t2425.scala +inline-val-constValue-2.scala +inline-val-constValue-3.scala +inlineAccesses.scala +inlined-the.scala +interfaceObject.scala +intersection.scala +isApplicableSafe.scala +isRef.scala +java-futures.scala +jdk-8-app.scala +kind-projector-underscores.scala +kind-projector.scala +kindPolySemiGroup.scala +kinds.scala +kinzer.scala +ksbug1.scala +lambdalift.scala +lambdalift1.scala +large2.scala +lazyvals.scala +leading-infix-op.scala +listpattern.scala +local-objects.scala +local-signature.scala +localmodules.scala +lookuprefined.scala +main-method-scheme.scala +manifest-summoning.scala +match-type-inference.scala +match.scala +matches.scala +matrixOps.scala +matthias3.scala +matthias5.scala +maxim1.scala +merge-constraint.scala +michel3.scala +mirror-implicit-scope.scala +misc-unapply_pos.scala +modules1.scala +mt-scrutinee-widen3.scala +multiple-additional-imports.scala +named-typeargs.scala +native-warning.scala +no-selftype.scala +objXfun.scala +opaque-immutable-array.scala +opaque-inline.scala +opaque-nullable.scala +opaque-simple.scala +opassign.scala +overloaddefault.scala +overloadedAccess.scala +overrideDataRace.scala +p11210-multiowner.scala +p11210-values.scala +packageobject.scala +packagings.scala +param-depmeth.scala +partialApplications.scala +patdef.scala +patmat-exhaustive.scala +patmat-extract-tparam.scala +patmat.scala +patmatSeq.scala +patmatch-in-catch.scala +patterns1.scala +patterns2.scala +philippe2.scala +pickleAlias.scala +pickleSkolem.scala +pmbug.scala +polyalias.scala +polytypes.scala +pos-bug1210.scala +postconditions.scala +preserve-union.scala +printTest.scala +printbounds.scala +private-types-after-typer.scala +projection.scala +projections.scala +range.scala +rangepos-anonapply.scala +repeatedArgs213.scala +sammy_single.scala +sams.scala +scala-singleton.scala +scala3mock.scala +scoping3.scala +sets.scala +sigs.scala +simple-repeated-args.scala +simpleClass-3.scala +simpleConstructor.scala +simpleRefinement.scala +simpleTry.scala +simpleTypeSelect.scala +simplelists.scala +single-unions.scala +singleton-ops-composition.scala +singleton-ops-test-issue-8287.scala +singletons.scala +sip23-aliasing.scala +source-import-3-0.scala +source-import-3-3-migration.scala +source-import-3-3.scala +spec-asseenfrom.scala +spec-fields-old.scala +spec-foo.scala +spec-funs.scala +spec-lists.scala +spec-multiplectors.scala +spec-params-old.scala +spec-partially.scala +spec-partialmap.scala +spec-sealed.scala +spec-super.scala +spec-tailcall.scala +spec-thistype.scala +spec-traits.scala +specialize10.scala +spurious-overload.scala +staleSymbol.scala +strings.scala +strip-tvars-for-lubbasetypes.scala +sudoku.scala +supercalls.scala +switchUnbox.scala +switches.scala +t0017.scala +t0029.scala +t0030.scala +t0031.scala +t0036.scala +t0049.scala +t0069.scala +t0076.scala +t0081.scala +t0085.scala +t0091.scala +t0123.scala +t0301.scala +t0304.scala +t0438.scala +t0654.scala +t0710.scala +t0770.scala +t0786.scala +t0872.scala +t0904.scala +t1006.scala +t1027.scala +t10387b.scala +t1049.scala +t1053.scala +t1075.scala +t112606A.scala +t1131.scala +t1146.scala +t115.scala +t116.scala +t1168.scala +t1208.scala +t121.scala +t1226.scala +t1236a.scala +t1260.scala +t1280.scala +t1391.scala +t1406.scala +t1422_pos.scala +t1560.scala +t159.scala +t1625.scala +t1625b.scala +t16827.scala +t1756.scala +t177.scala +t1786-cycle.scala +t1789.scala +t183.scala +t1832.scala +t1843.scala +t1987a.scala +t1996.scala +t2023.scala +t2066.scala +t2081.scala +t2082.scala +t2119.scala +t2127.scala +t2130-1.scala +t2179.scala +t2194.scala +t2260.scala +t229.scala +t2310.scala +t2331.scala +t2421.scala +t2444.scala +t2454.scala +t2486.scala +t2503.scala +t2619.scala +t2664.scala +t2667.scala +t267.scala +t2683.scala +t2691.scala +t2693.scala +t2708.scala +t2712-4.scala +t2712-8.scala +t2795-new.scala +t2797.scala +t2809.scala +t295.scala +t296.scala +t3020.scala +t304.scala +t3071.scala +t3136.scala +t3152.scala +t3160.scala +t319.scala +t3343.scala +t3371.scala +t3373.scala +t3374.scala +t3452f.scala +t348plus.scala +t3528.scala +t3570.scala +t3578.scala +t3631.scala +t3636.scala +t3792.scala +t3800.scala +t3837.scala +t3862.scala +t3866.scala +t3880.scala +t3898.scala +t397.scala +t3986.scala +t4052.scala +t4063.scala +t4070b.scala +t4114.scala +t4176b.scala +t4220.scala +t4275.scala +t443.scala +t4430.scala +t4547.scala +t4593.scala +t4692.scala +t4716.scala +t4760.scala +t4859.scala +t5033.scala +t5070.scala +t5082.scala +t5084.scala +t5099.scala +t5127.scala +t514.scala +t522.scala +t5245.scala +t5305.scala +t5330c.scala +t5359.scala +t5399a.scala +t5508-min-okay.scala +t5508-min.scala +t5542.scala +t5577.scala +t5606.scala +t5643.scala +t566.scala +t5720-ownerous.scala +t5779-numeq-warn.scala +t578.scala +t5796.scala +t5829.scala +t5856b.scala +t5862.scala +t5886.scala +t5892.scala +t5900a.scala +t5930.scala +t5932.scala +t5968.scala +t6022b.scala +t604.scala +t6089b.scala +t6091.scala +t6123-explaintypes-implicits.scala +t613.scala +t6146.scala +t6162-inheritance.scala +t6208.scala +t6231.scala +t6278-synth-def.scala +t6301.scala +t6311.scala +t640.scala +t651.scala +t6514.scala +t6537.scala +t6551.scala +t6575a.scala +t6664b.scala +t6675.scala +t6722.scala +t6745.scala +t675.scala +t6771.scala +t6780.scala +t694.scala +t6948.scala +t6966.scala +t697.scala +t698.scala +t7180.scala +t7183.scala +t7226.scala +t7315.scala +t7377b.scala +t7427.scala +t7433.scala +t7475a.scala +t7475d.scala +t757a.scala +t762.scala +t767.scala +t7690.scala +t7753.scala +t7815.scala +t7853-partial-function.scala +t7864.scala +t788.scala +t803.scala +t805.scala +t812.scala +t8170.scala +t8177b.scala +t8177d.scala +t8219.scala +t8300-conversions-b.scala +t8300-patmat-b.scala +t8315.scala +t8363.scala +t8364.scala +t8367.scala +t839.scala +t851.scala +t927.scala +t946.scala +tailrec.scala +targetName-refine.scala +tcpoly_boundedmonad.scala +tcpoly_checkkinds_mix.scala +tcpoly_infer_easy.scala +tcpoly_infer_implicit_tuple_wrapper.scala +tcpoly_overloaded.scala +tcpoly_poly.scala +tcpoly_ticket2096.scala +tcpoly_variance_pos.scala +tcpoly_wildcards.scala +test-implicits2.scala +test-pickler-private-this.scala +test-typers.scala +test4.scala +test4refine.scala +test5.scala +testCoercionThis.scala +testcast.scala +thistypes.scala +ticket0137.scala +tparam_inf.scala +trailing-comma-pattern.scala +trait-java-enum.scala +traits.scala +transparent-inline.scala +tryWithoutHandler.scala +tuple-exaustivity.scala +tuplePatDef.scala +type-projection.scala +type-test-syntesize.scala +typealias_dubious.scala +typeclass-encoding3.scala +typedapply.scala +typelevel0.scala +typetestcast.scala +unapplyContexts2.scala +unary-eq.scala +unchecked-a.scala +unify-wildcard-patterns.scala +unions.scala +vararg-pattern.scala +varargs-annot-currying.scala +variances_pos.scala +vcblock.scala +vcif.scala +virtpatmat_anonfun_for.scala +virtpatmat_exhaust.scala +virtpatmat_exist3.scala +virtpatmat_exist_uncurry.scala +virtpatmat_infer_single_1.scala +widen-existential.scala +wildcardDefs.scala +xfatalWarnings.scala +z1730.scala +zipper.scala +zoo.scala \ No newline at end of file diff --git a/compiler/test/dotty/tools/TestSources.scala b/compiler/test/dotty/tools/TestSources.scala index 6961a61b69b6..68a260de81e4 100644 --- a/compiler/test/dotty/tools/TestSources.scala +++ b/compiler/test/dotty/tools/TestSources.scala @@ -15,11 +15,13 @@ object TestSources { def posTestPicklingBlacklistFile: String = "compiler/test/dotc/pos-test-pickling.blacklist" def posTestRecheckExcludesFile: String = "compiler/test/dotc/pos-test-recheck.excludes" def posLazyValsAllowlistFile: String = "compiler/test/dotc/pos-lazy-vals-tests.allowlist" + def posLintingAllowlistFile: String = "compiler/test/dotc/pos-linting.allowlist" def posFromTastyBlacklisted: List[String] = loadList(posFromTastyBlacklistFile) def posTestPicklingBlacklisted: List[String] = loadList(posTestPicklingBlacklistFile) def posTestRecheckExcluded: List[String] = loadList(posTestRecheckExcludesFile) def posLazyValsAllowlist: List[String] = loadList(posLazyValsAllowlistFile) + def posLintingAllowlist: List[String] = loadList(posLintingAllowlistFile) // run tests lists diff --git a/compiler/test/dotty/tools/dotc/CompilationTests.scala b/compiler/test/dotty/tools/dotc/CompilationTests.scala index c998dbec6721..1e8ca927a19a 100644 --- a/compiler/test/dotty/tools/dotc/CompilationTests.scala +++ b/compiler/test/dotty/tools/dotc/CompilationTests.scala @@ -30,7 +30,8 @@ class CompilationTests { @Test def pos: Unit = { implicit val testGroup: TestGroup = TestGroup("compilePos") var tests = List( - compileFilesInDir("tests/pos", defaultOptions.and("-Ysafe-init")), + compileFilesInDir("tests/pos", defaultOptions.and("-Ysafe-init", "-Wunused:all", "-Xlint:private-shadow", "-Xlint:type-parameter-shadow"), FileFilter.include(TestSources.posLintingAllowlist)), + compileFilesInDir("tests/pos", defaultOptions.and("-Ysafe-init"), FileFilter.exclude(TestSources.posLintingAllowlist)), compileFilesInDir("tests/pos-deep-subtype", allowDeepSubtypes), compileFilesInDir("tests/pos-special/sourcepath/outer", defaultOptions.and("-sourcepath", "tests/pos-special/sourcepath")), compileFile("tests/pos-special/sourcepath/outer/nested/Test4.scala", defaultOptions.and("-sourcepath", "tests/pos-special/sourcepath")),