tree: 7a8e6052e5e28175e5b32984c71fb6536fa4a2d4 [path history] [tgz]
  1. abi/
  2. alloc-error/
  3. allocator/
  4. annotate-snippet/
  5. anon-params/
  6. argfile/
  7. argument-suggestions/
  8. array-slice-vec/
  9. asm/
  10. associated-consts/
  11. associated-inherent-types/
  12. associated-item/
  13. associated-type-bounds/
  14. associated-types/
  15. async-await/
  16. attributes/
  17. auto-traits/
  18. autoref-autoderef/
  19. auxiliary/
  20. backtrace/
  21. bench/
  22. binding/
  23. binop/
  24. blind/
  25. block-result/
  26. borrowck/
  27. box/
  28. btreemap/
  29. builtin-superkinds/
  30. c-variadic/
  31. cast/
  32. cfg/
  33. check-cfg/
  34. closure-expected-type/
  35. closure_context/
  36. closures/
  37. cmse-nonsecure/
  38. codegen/
  39. codemap_tests/
  40. coercion/
  41. coherence/
  42. coinduction/
  43. command/
  44. compare-method/
  45. compiletest-self-test/
  46. conditional-compilation/
  47. confuse-field-and-method/
  48. const-generics/
  49. const-ptr/
  50. const_prop/
  51. consts/
  52. coroutine/
  53. coverage-attr/
  54. crate-loading/
  55. cross/
  56. cross-crate/
  57. custom_test_frameworks/
  58. cycle-trait/
  59. debuginfo/
  60. definition-reachable/
  61. delegation/
  62. dep-graph/
  63. deployment-target/
  64. deprecation/
  65. deref-patterns/
  66. derived-errors/
  67. derives/
  68. deriving/
  69. dest-prop/
  70. destructuring-assignment/
  71. diagnostic-flags/
  72. diagnostic-width/
  73. diagnostic_namespace/
  74. did_you_mean/
  75. directory_ownership/
  76. disallowed-deconstructing/
  77. dollar-crate/
  78. drop/
  79. drop-bounds/
  80. dropck/
  81. dst/
  82. duplicate/
  83. dyn-compatibility/
  84. dyn-drop/
  85. dyn-keyword/
  86. dyn-star/
  87. dynamically-sized-types/
  88. editions/
  89. empty/
  90. entry-point/
  91. enum/
  92. enum-discriminant/
  93. env-macro/
  94. error-codes/
  95. error-emitter/
  96. errors/
  97. explicit/
  98. explicit-tail-calls/
  99. expr/
  100. extern/
  101. extern-flag/
  102. feature-gates/
  103. ffi-attrs/
  104. float/
  105. fmt/
  106. fn/
  107. fn-main/
  108. for/
  109. for-loop-while/
  110. foreign/
  111. fuel/
  112. fully-qualified-type/
  113. function-pointer/
  114. functional-struct-update/
  115. functions-closures/
  116. generic-associated-types/
  117. generic-const-items/
  118. generics/
  119. half-open-range-patterns/
  120. hashmap/
  121. hello_world/
  122. higher-ranked/
  123. hygiene/
  124. illegal-sized-bound/
  125. impl-header-lifetime-elision/
  126. impl-trait/
  127. implied-bounds/
  128. imports/
  129. include-macros/
  130. incoherent-inherent-impls/
  131. indexing/
  132. inference/
  133. infinite/
  134. inherent-impls-overlap-check/
  135. inline-const/
  136. instrument-coverage/
  137. instrument-xray/
  138. interior-mutability/
  139. internal/
  140. internal-lints/
  141. intrinsics/
  142. invalid/
  143. invalid-compile-flags/
  144. invalid-module-declaration/
  145. invalid-self-argument/
  146. io-checks/
  147. issues/
  148. iterators/
  149. json/
  150. keyword/
  151. kindck/
  152. label/
  153. lang-items/
  154. late-bound-lifetimes/
  155. layout/
  156. lazy-type-alias/
  157. lazy-type-alias-impl-trait/
  158. let-else/
  159. lexer/
  160. lifetimes/
  161. limits/
  162. linkage-attr/
  163. lint/
  164. liveness/
  165. loops/
  166. lowering/
  167. lto/
  168. lub-glb/
  169. macro_backtrace/
  170. macros/
  171. malformed/
  172. manual/
  173. marker_trait_attr/
  174. match/
  175. meta/
  176. methods/
  177. mir/
  178. mir-dataflow/
  179. mismatched_types/
  180. missing/
  181. missing-trait-bounds/
  182. missing_non_modrs_mod/
  183. modules/
  184. modules_and_files_visibility/
  185. moves/
  186. mut/
  187. namespace/
  188. native-library-link-flags/
  189. never_type/
  190. nll/
  191. no_std/
  192. non_modrs_mods/
  193. non_modrs_mods_and_inline_mods/
  194. not-panic/
  195. numbers-arithmetic/
  196. numeric/
  197. object-lifetime/
  198. obsolete-in-place/
  199. offset-of/
  200. on-unimplemented/
  201. operator-recovery/
  202. or-patterns/
  203. overloaded/
  204. packed/
  205. panic-handler/
  206. panic-runtime/
  207. panics/
  208. parallel-rustc/
  209. parser/
  210. patchable-function-entry/
  211. pattern/
  212. pin-macro/
  213. polymorphization/
  214. precondition-checks/
  215. print_type_sizes/
  216. privacy/
  217. proc-macro/
  218. process/
  219. process-termination/
  220. ptr_ops/
  221. pub/
  222. qualified/
  223. query-system/
  224. range/
  225. raw-ref-op/
  226. reachable/
  227. recursion/
  228. recursion_limit/
  229. regions/
  230. repeat-expr/
  231. repr/
  232. reserved/
  233. resolve/
  234. return/
  235. rfcs/
  236. rmeta/
  237. runtime/
  238. rust-2018/
  239. rust-2021/
  240. rust-2024/
  241. rustc-env/
  242. rustdoc/
  243. sanitizer/
  244. self/
  245. sepcomp/
  246. shadowed/
  247. shell-argfiles/
  248. simd/
  249. single-use-lifetime/
  250. sized/
  251. span/
  252. specialization/
  253. stability-attribute/
  254. stable-mir-print/
  255. stack-protector/
  256. static/
  257. statics/
  258. stats/
  259. std/
  260. stdlib-unit-tests/
  261. str/
  262. structs/
  263. structs-enums/
  264. suggestions/
  265. svh/
  266. symbol-mangling-version/
  267. symbol-names/
  268. sync/
  269. target-feature/
  270. test-attrs/
  271. thir-print/
  272. thread-local/
  273. threads-sendsync/
  274. tool-attributes/
  275. track-diagnostics/
  276. trait-bounds/
  277. traits/
  278. transmutability/
  279. transmute/
  280. treat-err-as-bug/
  281. trivial-bounds/
  282. try-block/
  283. try-trait/
  284. tuple/
  285. type/
  286. type-alias/
  287. type-alias-enum-variants/
  288. type-alias-impl-trait/
  289. type-inference/
  290. typeck/
  291. typeof/
  292. ufcs/
  293. unboxed-closures/
  294. underscore-imports/
  295. underscore-lifetime/
  296. uniform-paths/
  297. uninhabited/
  298. union/
  299. unknown-unstable-lints/
  300. unop/
  301. unpretty/
  302. unresolved/
  303. unsafe/
  304. unsized/
  305. unsized-locals/
  306. unused-crate-deps/
  307. unwind-abis/
  308. use/
  309. variance/
  310. variants/
  311. version/
  312. warnings/
  313. wasm/
  314. wf/
  315. where-clauses/
  316. while/
  317. windows-subsystem/
  318. zero-sized/
  319. alias-uninit-value.rs
  320. allow-non-lint-warnings.rs
  321. anonymous-higher-ranked-lifetime.rs
  322. anonymous-higher-ranked-lifetime.stderr
  323. artificial-block.rs
  324. as-precedence.rs
  325. assign-assign.rs
  326. assign-imm-local-twice.rs
  327. assign-imm-local-twice.stderr
  328. assoc-lang-items.rs
  329. assoc-lang-items.stderr
  330. assoc-oddities-3.rs
  331. associated-path-shl.rs
  332. associated-path-shl.stderr
  333. atomic-from-mut-not-available.rs
  334. atomic-from-mut-not-available.stderr
  335. attempted-access-non-fatal.rs
  336. attempted-access-non-fatal.stderr
  337. attr-bad-crate-attr.rs
  338. attr-bad-crate-attr.stderr
  339. attr-shebang.rs
  340. attr-start.rs
  341. attr-usage-inline.rs
  342. attr-usage-inline.stderr
  343. attrs-resolution-errors.rs
  344. attrs-resolution-errors.stderr
  345. attrs-resolution.rs
  346. augmented-assignments-feature-gate-cross.rs
  347. augmented-assignments-rpass.rs
  348. augmented-assignments.rs
  349. augmented-assignments.stderr
  350. auto-instantiate.rs
  351. auto-ref-slice-plus-ref.rs
  352. auto-ref-slice-plus-ref.stderr
  353. autoderef-full-lval.rs
  354. autoderef-full-lval.stderr
  355. bare-fn-implements-fn-mut.rs
  356. bare-static-string.rs
  357. big-literals.rs
  358. bind-by-move.rs
  359. bitwise.rs
  360. bogus-tag.rs
  361. bogus-tag.stderr
  362. borrow-by-val-method-receiver.rs
  363. bounds-lifetime.rs
  364. bounds-lifetime.stderr
  365. break-diverging-value.rs
  366. break-diverging-value.stderr
  367. builtin-clone-unwind.rs
  368. can-copy-pod.rs
  369. cancel-clean-via-immediate-rvalue-ref.rs
  370. cannot-mutate-captured-non-mut-var.rs
  371. cannot-mutate-captured-non-mut-var.stderr
  372. capture1.rs
  373. capture1.stderr
  374. catch-unwind-bang.rs
  375. cenum_impl_drop_cast.rs
  376. cenum_impl_drop_cast.stderr
  377. cfguard-run.rs
  378. char.rs
  379. class-cast-to-trait.rs
  380. class-cast-to-trait.stderr
  381. class-method-missing.rs
  382. class-method-missing.stderr
  383. cleanup-rvalue-for-scope.rs
  384. cleanup-rvalue-scopes-cf.rs
  385. cleanup-rvalue-scopes-cf.stderr
  386. cleanup-rvalue-scopes.rs
  387. cleanup-rvalue-temp-during-incomplete-alloc.rs
  388. cleanup-shortcircuit.rs
  389. close-over-big-then-small-data.rs
  390. command-line-diagnostics.rs
  391. command-line-diagnostics.stderr
  392. complex.rs
  393. conservative_impl_trait.rs
  394. conservative_impl_trait.stderr
  395. constructor-lifetime-args.rs
  396. constructor-lifetime-args.stderr
  397. copy-a-resource.rs
  398. copy-a-resource.stderr
  399. crate-leading-sep.rs
  400. crate-method-reexport-grrrrrrr.rs
  401. crate-name-attr-used.rs
  402. crate-name-mismatch.rs
  403. crate-name-mismatch.stderr
  404. custom-attribute-multisegment.rs
  405. custom-attribute-multisegment.stderr
  406. custom-test-frameworks-simple.rs
  407. custom_attribute.rs
  408. custom_attribute.stderr
  409. deduplicate-diagnostics.deduplicate.stderr
  410. deduplicate-diagnostics.duplicate.stderr
  411. deduplicate-diagnostics.rs
  412. deep.rs
  413. default-method-parsing.rs
  414. default-method-simple.rs
  415. defaults-well-formedness.rs
  416. deprecation-in-force-unstable.rs
  417. deref-non-pointer.rs
  418. deref-non-pointer.stderr
  419. deref-rc.rs
  420. deref.rs
  421. derive-uninhabited-enum-38885.rs
  422. derive-uninhabited-enum-38885.stderr
  423. destructure-trait-ref.rs
  424. destructure-trait-ref.stderr
  425. diverging-fallback-method-chain.rs
  426. diverging-fallback-option.rs
  427. diverging-fn-tail-35849.rs
  428. diverging-fn-tail-35849.stderr
  429. double-ref.rs
  430. double-type-import.rs
  431. double-type-import.stderr
  432. dupe-first-attr.rs
  433. duplicate-label-E0381-issue-129274.rs
  434. duplicate-label-E0381-issue-129274.stderr
  435. duplicate_entry_error.rs
  436. duplicate_entry_error.stderr
  437. early-ret-binop-add.rs
  438. elide-errors-on-mismatched-tuple.rs
  439. elide-errors-on-mismatched-tuple.stderr
  440. elided-test.rs
  441. elided-test.stderr
  442. else-if.rs
  443. empty-allocation-non-null.rs
  444. empty-allocation-rvalue-non-null.rs
  445. empty-type-parameter-list.rs
  446. empty-type-parameter-list.stderr
  447. error-festival.rs
  448. error-festival.stderr
  449. error-should-say-copy-not-pod.rs
  450. error-should-say-copy-not-pod.stderr
  451. exclusive-drop-and-copy.rs
  452. exclusive-drop-and-copy.stderr
  453. explain.rs
  454. explain.stdout
  455. explicit-i-suffix.rs
  456. explore-issue-38412.rs
  457. explore-issue-38412.stderr
  458. ext-expand-inner-exprs.rs
  459. ext-nonexistent.rs
  460. ext-nonexistent.stderr
  461. fact.rs
  462. fail-simple.rs
  463. fail-simple.stderr
  464. filter-block-view-items.rs
  465. format-no-std.rs
  466. fun-indirect-call.rs
  467. future-incompatible-lint-group.rs
  468. future-incompatible-lint-group.stderr
  469. global-scope.rs
  470. hello.rs
  471. illegal-ufcs-drop.fixed
  472. illegal-ufcs-drop.rs
  473. illegal-ufcs-drop.stderr
  474. impl-inherent-non-conflict.rs
  475. impl-not-adjacent-to-type.rs
  476. impl-privacy-xc-1.rs
  477. impl-unused-rps-in-assoc-type.rs
  478. impl-unused-rps-in-assoc-type.stderr
  479. impl-unused-tps-inherent.rs
  480. impl-unused-tps-inherent.stderr
  481. impl-unused-tps.rs
  482. impl-unused-tps.stderr
  483. implicit-method-bind.rs
  484. implicit-method-bind.stderr
  485. inline-disallow-on-variant.rs
  486. inline-disallow-on-variant.stderr
  487. inlined-main.rs
  488. inner-attrs-on-impl.rs
  489. inner-module.rs
  490. inner-static-type-parameter.rs
  491. inner-static-type-parameter.stderr
  492. inner-static.rs
  493. integral-indexing.rs
  494. integral-indexing.stderr
  495. integral-variable-unification-error.rs
  496. integral-variable-unification-error.stderr
  497. invalid_crate_type_syntax.rs
  498. invalid_crate_type_syntax.stderr
  499. invalid_dispatch_from_dyn_impls.rs
  500. invalid_dispatch_from_dyn_impls.stderr
  501. issue-11881.rs
  502. issue-13560.rs
  503. issue-15924.rs
  504. issue-16822.rs
  505. issue-18502.rs
  506. issue-24106.rs
  507. issue-76387-llvm-miscompile.rs
  508. issues-71798.rs
  509. issues-71798.stderr
  510. item-name-overload.rs
  511. kinds-in-metadata.rs
  512. kinds-of-primitive-impl.rs
  513. kinds-of-primitive-impl.stderr
  514. last-use-in-block.rs
  515. last-use-in-cap-clause.rs
  516. last-use-is-capture.rs
  517. lazy-and-or.rs
  518. lexical-scopes.rs
  519. lexical-scopes.stderr
  520. lexical-scoping.rs
  521. link-section.rs
  522. list.rs
  523. log-err-phi.rs
  524. log-knows-the-names-of-variants.rs
  525. log-poly.rs
  526. logging-only-prints-once.rs
  527. loud_ui.rs
  528. max-min-classes.rs
  529. maximal_mir_to_hir_coverage.rs
  530. maybe-bounds.rs
  531. maybe-bounds.stderr
  532. method-output-diff-issue-127263.rs
  533. method-output-diff-issue-127263.stderr
  534. minus-string.rs
  535. minus-string.stderr
  536. missing_debug_impls.rs
  537. missing_debug_impls.stderr
  538. mod-subitem-as-enum-variant.rs
  539. mod-subitem-as-enum-variant.stderr
  540. monomorphize-abi-alignment.rs
  541. msvc-data-only.rs
  542. msvc-opt-minsize.rs
  543. multibyte.rs
  544. multiline-comment.rs
  545. mut-function-arguments.rs
  546. mutual-recursion-group.rs
  547. myriad-closures.rs
  548. nested-block-comment.rs
  549. nested-cfg-attrs.rs
  550. nested-cfg-attrs.stderr
  551. nested-class.rs
  552. nested-ty-params.rs
  553. nested-ty-params.stderr
  554. new-impl-syntax.rs
  555. new-import-syntax.rs
  556. new-style-constants.rs
  557. new-unicode-escapes.rs
  558. newlambdas.rs
  559. newtype-polymorphic.rs
  560. newtype.rs
  561. no-capture-arc.rs
  562. no-capture-arc.stderr
  563. no-core-1.rs
  564. no-core-2.rs
  565. no-link-unknown-crate.rs
  566. no-link-unknown-crate.stderr
  567. no-reuse-move-arc.rs
  568. no-reuse-move-arc.stderr
  569. no-send-res-ports.rs
  570. no-send-res-ports.stderr
  571. no-warn-on-field-replace-issue-34101.rs
  572. no_crate_type.rs
  573. no_crate_type.stderr
  574. no_send-enum.rs
  575. no_send-enum.stderr
  576. no_send-rc.rs
  577. no_send-rc.stderr
  578. no_share-enum.rs
  579. no_share-enum.stderr
  580. no_share-struct.rs
  581. no_share-struct.stderr
  582. noexporttypeexe.rs
  583. noexporttypeexe.stderr
  584. non-constant-expr-for-arr-len.rs
  585. non-constant-expr-for-arr-len.stderr
  586. non-copyable-void.rs
  587. non-copyable-void.stderr
  588. non-fmt-panic.fixed
  589. non-fmt-panic.rs
  590. non-fmt-panic.stderr
  591. noncopyable-class.rs
  592. noncopyable-class.stderr
  593. nonscalar-cast.fixed
  594. nonscalar-cast.rs
  595. nonscalar-cast.stderr
  596. not-clone-closure.rs
  597. not-clone-closure.stderr
  598. not-copy-closure.rs
  599. not-copy-closure.stderr
  600. not-enough-arguments.rs
  601. not-enough-arguments.stderr
  602. nul-characters.rs
  603. nullable-pointer-iotareduction.rs
  604. nullable-pointer-size.rs
  605. object-pointer-types.rs
  606. object-pointer-types.stderr
  607. objects-coerce-freeze-borrored.rs
  608. occurs-check-2.rs
  609. occurs-check-2.stderr
  610. occurs-check-3.rs
  611. occurs-check-3.stderr
  612. occurs-check.rs
  613. occurs-check.stderr
  614. once-cant-call-twice-on-heap.rs
  615. once-cant-call-twice-on-heap.stderr
  616. oom_unwind.rs
  617. op-assign-builtins-by-ref.rs
  618. opeq.rs
  619. opt-in-copy.rs
  620. opt-in-copy.stderr
  621. optimization-remark.rs
  622. out-pointer-aliasing.rs
  623. output-slot-variants.rs
  624. over-constrained-vregs.rs
  625. panic-while-printing.rs
  626. panic_implementation-closures.rs
  627. paren-span.rs
  628. paren-span.stderr
  629. partialeq_help.rs
  630. partialeq_help.stderr
  631. path-lookahead.fixed
  632. path-lookahead.rs
  633. path-lookahead.stderr
  634. path.rs
  635. paths-containing-nul.rs
  636. phantom-auto-trait.rs
  637. phantom-auto-trait.stderr
  638. point-to-type-err-cause-on-impl-trait-return-2.rs
  639. point-to-type-err-cause-on-impl-trait-return-2.stderr
  640. pptypedef.rs
  641. pptypedef.stderr
  642. primitive-binop-lhs-mut.rs
  643. print-calling-conventions.rs
  644. print-calling-conventions.stdout
  645. print-stdout-eprint-stderr.rs
  646. project-cache-issue-31849.rs
  647. ptr-coercion-rpass.rs
  648. ptr-coercion.rs
  649. ptr-coercion.stderr
  650. query-visibility.rs
  651. raw-str.rs
  652. README.md
  653. realloc-16687.rs
  654. reassign-ref-mut.rs
  655. reassign-ref-mut.stderr
  656. reexport-test-harness-main.rs
  657. removing-extern-crate.fixed
  658. removing-extern-crate.rs
  659. removing-extern-crate.stderr
  660. resource-assign-is-not-copy.rs
  661. resource-destruct.rs
  662. rustc-error.rs
  663. rustc-error.stderr
  664. seq-args.rs
  665. seq-args.stderr
  666. shadow-bool.rs
  667. shadowed-use-visibility.rs
  668. short-error-format.rs
  669. short-error-format.stderr
  670. sized-borrowed-pointer.rs
  671. sized-cycle-note.rs
  672. sized-cycle-note.stderr
  673. sized-owned-pointer.rs
  674. sse2.rs
  675. stable-addr-of.rs
  676. std-uncopyable-atomics.rs
  677. std-uncopyable-atomics.stderr
  678. stdio-is-blocking.rs
  679. string-box-error.rs
  680. struct-ctor-mangling.rs
  681. super-at-top-level.rs
  682. super-at-top-level.stderr
  683. super.rs
  684. svh-add-nothing.rs
  685. swap-1.rs
  686. swap-overlapping.rs
  687. switched-expectations.rs
  688. switched-expectations.stderr
  689. syntax-extension-minor.rs
  690. tag-type-args.rs
  691. tag-type-args.stderr
  692. tag-variant-cast-non-nullary.fixed
  693. tag-variant-cast-non-nullary.rs
  694. tag-variant-cast-non-nullary.stderr
  695. tail-call-arg-leak.rs
  696. tail-cps.rs
  697. tail-typeck.rs
  698. tail-typeck.stderr
  699. trailing-comma.rs
  700. trait-method-number-parameters.rs
  701. trait-method-number-parameters.stderr
  702. transmute-equal-assoc-types.rs
  703. transmute-non-immediate-to-immediate.rs
  704. trivial_casts-rpass.rs
  705. trivial_casts-rpass.stderr
  706. try-from-int-error-partial-eq.rs
  707. try-operator-hygiene.rs
  708. try-operator.rs
  709. tydesc-name.rs
  710. type-id-higher-rank-2.rs
  711. type-namespace.rs
  712. type-param-constraints.rs
  713. type-param.rs
  714. type-ptr.rs
  715. type-use-i1-versus-i8.rs
  716. type_length_limit.polonius.stderr
  717. type_length_limit.rs
  718. type_length_limit.stderr
  719. typeid-intrinsic.rs
  720. typestate-multi-decl.rs
  721. unconstrained-none.rs
  722. unconstrained-none.stderr
  723. unconstrained-ref.rs
  724. unconstrained-ref.stderr
  725. underscore-ident-matcher.rs
  726. underscore-ident-matcher.stderr
  727. underscore-lifetimes.rs
  728. underscore-method-after-integer.rs
  729. unevaluated_fixed_size_array_len.rs
  730. unevaluated_fixed_size_array_len.stderr
  731. uninit-empty-types.rs
  732. unit.rs
  733. unknown-language-item.rs
  734. unknown-language-item.stderr
  735. unknown-llvm-arg.rs
  736. unknown-llvm-arg.stderr
  737. unnamed_argument_mode.rs
  738. unreachable-code-1.rs
  739. unreachable-code.rs
  740. unsigned-literal-negation.rs
  741. unsigned-literal-negation.stderr
  742. unused-move-capture.rs
  743. unused-move.rs
  744. unwind-no-uwtable.rs
  745. use-import-export.rs
  746. use-keyword-2.rs
  747. use-module-level-int-consts.rs
  748. use-nested-groups.rs
  749. used.rs
  750. used.stderr
  751. using-target-feature-unstable.rs
  752. usize-generic-argument-parent.rs
  753. usize-generic-argument-parent.stderr
  754. utf8-bom.rs
  755. utf8_idents.rs
  756. wait-forked-but-failed-child.rs
  757. walk-struct-literal-with.rs
  758. walk-struct-literal-with.stderr
  759. weak-new-uninhabited-issue-48493.rs
  760. weird-exit-code.rs
  761. weird-exprs.rs
  762. write-fmt-errors.rs
  763. writing-to-immutable-vec.rs
  764. writing-to-immutable-vec.stderr
  765. wrong-hashset-issue-42918.rs
tests/ui/README.md

UI Tests

This folder contains rustc's UI tests.

Test Directives (Headers)

Typically, a UI test will have some test directives / headers which are special comments that tell compiletest how to build and intepret a test.

As part of an on-going effort to rewrite compiletest (see https://github.com/rust-lang/compiler-team/issues/536), a major change proposal to change legacy compiletest-style headers // <directive> to ui_test-style headers //@ <directive> was accepted (see https://github.com/rust-lang/compiler-team/issues/512.

An example directive is ignore-test. In legacy compiletest style, the header would be written as

// ignore-test

but in ui_test style, the header would be written as

//@ ignore-test

compiletest is changed to accept only //@ directives for UI tests (currently), and will reject and report an error if it encounters any comments // <content> that may be parsed as an legacy compiletest-style test header. To fix this, you should migrate to the ui_test-style header //@ <content>.