tree: 5e777605910107ace13f6d35b75a01b489e87f62 [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-drop/
  84. dyn-keyword/
  85. dyn-star/
  86. dynamically-sized-types/
  87. editions/
  88. empty/
  89. entry-point/
  90. enum/
  91. enum-discriminant/
  92. env-macro/
  93. error-codes/
  94. error-emitter/
  95. errors/
  96. explicit/
  97. explicit-tail-calls/
  98. expr/
  99. extern/
  100. extern-flag/
  101. feature-gates/
  102. ffi-attrs/
  103. float/
  104. fmt/
  105. fn/
  106. fn-main/
  107. for/
  108. for-loop-while/
  109. foreign/
  110. fuel/
  111. fully-qualified-type/
  112. function-pointer/
  113. functional-struct-update/
  114. functions-closures/
  115. generic-associated-types/
  116. generic-const-items/
  117. generics/
  118. half-open-range-patterns/
  119. hashmap/
  120. hello_world/
  121. higher-ranked/
  122. hygiene/
  123. illegal-sized-bound/
  124. impl-header-lifetime-elision/
  125. impl-trait/
  126. implied-bounds/
  127. imports/
  128. include-macros/
  129. incoherent-inherent-impls/
  130. indexing/
  131. inference/
  132. infinite/
  133. inherent-impls-overlap-check/
  134. inline-const/
  135. instrument-coverage/
  136. instrument-xray/
  137. interior-mutability/
  138. internal/
  139. internal-lints/
  140. intrinsics/
  141. invalid/
  142. invalid-compile-flags/
  143. invalid-module-declaration/
  144. invalid-self-argument/
  145. io-checks/
  146. issues/
  147. iterators/
  148. json/
  149. keyword/
  150. kindck/
  151. label/
  152. lang-items/
  153. late-bound-lifetimes/
  154. layout/
  155. lazy-type-alias/
  156. lazy-type-alias-impl-trait/
  157. let-else/
  158. lexer/
  159. lifetimes/
  160. limits/
  161. linkage-attr/
  162. lint/
  163. liveness/
  164. loops/
  165. lowering/
  166. lto/
  167. lub-glb/
  168. macro_backtrace/
  169. macros/
  170. malformed/
  171. manual/
  172. marker_trait_attr/
  173. match/
  174. meta/
  175. methods/
  176. mir/
  177. mir-dataflow/
  178. mismatched_types/
  179. missing/
  180. missing-trait-bounds/
  181. missing_non_modrs_mod/
  182. modules/
  183. modules_and_files_visibility/
  184. moves/
  185. mut/
  186. namespace/
  187. native-library-link-flags/
  188. never_type/
  189. nll/
  190. no_std/
  191. non_modrs_mods/
  192. non_modrs_mods_and_inline_mods/
  193. not-panic/
  194. numbers-arithmetic/
  195. numeric/
  196. object-lifetime/
  197. object-safety/
  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. .gitattributes
  320. alias-uninit-value.rs
  321. allow-non-lint-warnings.rs
  322. anonymous-higher-ranked-lifetime.rs
  323. anonymous-higher-ranked-lifetime.stderr
  324. artificial-block.rs
  325. as-precedence.rs
  326. assign-assign.rs
  327. assign-imm-local-twice.rs
  328. assign-imm-local-twice.stderr
  329. assoc-lang-items.rs
  330. assoc-lang-items.stderr
  331. assoc-oddities-3.rs
  332. associated-path-shl.rs
  333. associated-path-shl.stderr
  334. atomic-from-mut-not-available.rs
  335. atomic-from-mut-not-available.stderr
  336. attempted-access-non-fatal.rs
  337. attempted-access-non-fatal.stderr
  338. attr-bad-crate-attr.rs
  339. attr-bad-crate-attr.stderr
  340. attr-shebang.rs
  341. attr-start.rs
  342. attr-usage-inline.rs
  343. attr-usage-inline.stderr
  344. attrs-resolution-errors.rs
  345. attrs-resolution-errors.stderr
  346. attrs-resolution.rs
  347. augmented-assignments-feature-gate-cross.rs
  348. augmented-assignments-rpass.rs
  349. augmented-assignments.rs
  350. augmented-assignments.stderr
  351. auto-instantiate.rs
  352. auto-ref-slice-plus-ref.rs
  353. auto-ref-slice-plus-ref.stderr
  354. autoderef-full-lval.rs
  355. autoderef-full-lval.stderr
  356. bare-fn-implements-fn-mut.rs
  357. bare-static-string.rs
  358. big-literals.rs
  359. bind-by-move.rs
  360. bitwise.rs
  361. bogus-tag.rs
  362. bogus-tag.stderr
  363. borrow-by-val-method-receiver.rs
  364. bounds-lifetime.rs
  365. bounds-lifetime.stderr
  366. break-diverging-value.rs
  367. break-diverging-value.stderr
  368. builtin-clone-unwind.rs
  369. can-copy-pod.rs
  370. cancel-clean-via-immediate-rvalue-ref.rs
  371. cannot-mutate-captured-non-mut-var.rs
  372. cannot-mutate-captured-non-mut-var.stderr
  373. capture1.rs
  374. capture1.stderr
  375. catch-unwind-bang.rs
  376. cenum_impl_drop_cast.rs
  377. cenum_impl_drop_cast.stderr
  378. cfguard-run.rs
  379. char.rs
  380. class-cast-to-trait.rs
  381. class-cast-to-trait.stderr
  382. class-method-missing.rs
  383. class-method-missing.stderr
  384. cleanup-rvalue-for-scope.rs
  385. cleanup-rvalue-scopes-cf.rs
  386. cleanup-rvalue-scopes-cf.stderr
  387. cleanup-rvalue-scopes.rs
  388. cleanup-rvalue-temp-during-incomplete-alloc.rs
  389. cleanup-shortcircuit.rs
  390. close-over-big-then-small-data.rs
  391. command-line-diagnostics.rs
  392. command-line-diagnostics.stderr
  393. complex.rs
  394. conservative_impl_trait.rs
  395. conservative_impl_trait.stderr
  396. constructor-lifetime-args.rs
  397. constructor-lifetime-args.stderr
  398. copy-a-resource.rs
  399. copy-a-resource.stderr
  400. crate-leading-sep.rs
  401. crate-method-reexport-grrrrrrr.rs
  402. crate-name-attr-used.rs
  403. crate-name-mismatch.rs
  404. crate-name-mismatch.stderr
  405. custom-attribute-multisegment.rs
  406. custom-attribute-multisegment.stderr
  407. custom-test-frameworks-simple.rs
  408. custom_attribute.rs
  409. custom_attribute.stderr
  410. deduplicate-diagnostics.deduplicate.stderr
  411. deduplicate-diagnostics.duplicate.stderr
  412. deduplicate-diagnostics.rs
  413. deep.rs
  414. default-method-parsing.rs
  415. default-method-simple.rs
  416. defaults-well-formedness.rs
  417. deprecation-in-force-unstable.rs
  418. deref-non-pointer.rs
  419. deref-non-pointer.stderr
  420. deref-rc.rs
  421. deref.rs
  422. derive-uninhabited-enum-38885.rs
  423. derive-uninhabited-enum-38885.stderr
  424. destructure-trait-ref.rs
  425. destructure-trait-ref.stderr
  426. diverging-fallback-method-chain.rs
  427. diverging-fallback-option.rs
  428. diverging-fn-tail-35849.rs
  429. diverging-fn-tail-35849.stderr
  430. double-ref.rs
  431. double-type-import.rs
  432. double-type-import.stderr
  433. dupe-first-attr.rs
  434. duplicate-label-E0381-issue-129274.rs
  435. duplicate-label-E0381-issue-129274.stderr
  436. duplicate_entry_error.rs
  437. duplicate_entry_error.stderr
  438. early-ret-binop-add.rs
  439. elide-errors-on-mismatched-tuple.rs
  440. elide-errors-on-mismatched-tuple.stderr
  441. elided-test.rs
  442. elided-test.stderr
  443. else-if.rs
  444. empty-allocation-non-null.rs
  445. empty-allocation-rvalue-non-null.rs
  446. empty-type-parameter-list.rs
  447. empty-type-parameter-list.stderr
  448. error-festival.rs
  449. error-festival.stderr
  450. error-should-say-copy-not-pod.rs
  451. error-should-say-copy-not-pod.stderr
  452. exclusive-drop-and-copy.rs
  453. exclusive-drop-and-copy.stderr
  454. explain.rs
  455. explain.stdout
  456. explicit-i-suffix.rs
  457. explore-issue-38412.rs
  458. explore-issue-38412.stderr
  459. ext-expand-inner-exprs.rs
  460. ext-nonexistent.rs
  461. ext-nonexistent.stderr
  462. fact.rs
  463. fail-simple.rs
  464. fail-simple.stderr
  465. filter-block-view-items.rs
  466. format-no-std.rs
  467. fun-indirect-call.rs
  468. future-incompatible-lint-group.rs
  469. future-incompatible-lint-group.stderr
  470. global-scope.rs
  471. hello.rs
  472. illegal-ufcs-drop.fixed
  473. illegal-ufcs-drop.rs
  474. illegal-ufcs-drop.stderr
  475. impl-inherent-non-conflict.rs
  476. impl-not-adjacent-to-type.rs
  477. impl-privacy-xc-1.rs
  478. impl-unused-rps-in-assoc-type.rs
  479. impl-unused-rps-in-assoc-type.stderr
  480. impl-unused-tps-inherent.rs
  481. impl-unused-tps-inherent.stderr
  482. impl-unused-tps.rs
  483. impl-unused-tps.stderr
  484. implicit-method-bind.rs
  485. implicit-method-bind.stderr
  486. inline-disallow-on-variant.rs
  487. inline-disallow-on-variant.stderr
  488. inlined-main.rs
  489. inner-attrs-on-impl.rs
  490. inner-module.rs
  491. inner-static-type-parameter.rs
  492. inner-static-type-parameter.stderr
  493. inner-static.rs
  494. integral-indexing.rs
  495. integral-indexing.stderr
  496. integral-variable-unification-error.rs
  497. integral-variable-unification-error.stderr
  498. invalid_crate_type_syntax.rs
  499. invalid_crate_type_syntax.stderr
  500. invalid_dispatch_from_dyn_impls.rs
  501. invalid_dispatch_from_dyn_impls.stderr
  502. issue-11881.rs
  503. issue-13560.rs
  504. issue-15924.rs
  505. issue-16822.rs
  506. issue-18502.rs
  507. issue-24106.rs
  508. issue-76387-llvm-miscompile.rs
  509. issues-71798.rs
  510. issues-71798.stderr
  511. item-name-overload.rs
  512. kinds-in-metadata.rs
  513. kinds-of-primitive-impl.rs
  514. kinds-of-primitive-impl.stderr
  515. last-use-in-block.rs
  516. last-use-in-cap-clause.rs
  517. last-use-is-capture.rs
  518. lazy-and-or.rs
  519. lexical-scopes.rs
  520. lexical-scopes.stderr
  521. lexical-scoping.rs
  522. link-section.rs
  523. list.rs
  524. log-err-phi.rs
  525. log-knows-the-names-of-variants.rs
  526. log-poly.rs
  527. logging-only-prints-once.rs
  528. loud_ui.rs
  529. max-min-classes.rs
  530. maximal_mir_to_hir_coverage.rs
  531. maybe-bounds.rs
  532. maybe-bounds.stderr
  533. method-output-diff-issue-127263.rs
  534. method-output-diff-issue-127263.stderr
  535. minus-string.rs
  536. minus-string.stderr
  537. missing_debug_impls.rs
  538. missing_debug_impls.stderr
  539. mod-subitem-as-enum-variant.rs
  540. mod-subitem-as-enum-variant.stderr
  541. monomorphize-abi-alignment.rs
  542. msvc-data-only.rs
  543. msvc-opt-minsize.rs
  544. multibyte.rs
  545. multiline-comment.rs
  546. mut-function-arguments.rs
  547. mutual-recursion-group.rs
  548. myriad-closures.rs
  549. nested-block-comment.rs
  550. nested-cfg-attrs.rs
  551. nested-cfg-attrs.stderr
  552. nested-class.rs
  553. nested-ty-params.rs
  554. nested-ty-params.stderr
  555. new-impl-syntax.rs
  556. new-import-syntax.rs
  557. new-style-constants.rs
  558. new-unicode-escapes.rs
  559. newlambdas.rs
  560. newtype-polymorphic.rs
  561. newtype.rs
  562. no-capture-arc.rs
  563. no-capture-arc.stderr
  564. no-core-1.rs
  565. no-core-2.rs
  566. no-link-unknown-crate.rs
  567. no-link-unknown-crate.stderr
  568. no-reuse-move-arc.rs
  569. no-reuse-move-arc.stderr
  570. no-send-res-ports.rs
  571. no-send-res-ports.stderr
  572. no-warn-on-field-replace-issue-34101.rs
  573. no_crate_type.rs
  574. no_crate_type.stderr
  575. no_send-enum.rs
  576. no_send-enum.stderr
  577. no_send-rc.rs
  578. no_send-rc.stderr
  579. no_share-enum.rs
  580. no_share-enum.stderr
  581. no_share-struct.rs
  582. no_share-struct.stderr
  583. noexporttypeexe.rs
  584. noexporttypeexe.stderr
  585. non-constant-expr-for-arr-len.rs
  586. non-constant-expr-for-arr-len.stderr
  587. non-copyable-void.rs
  588. non-copyable-void.stderr
  589. non-fmt-panic.fixed
  590. non-fmt-panic.rs
  591. non-fmt-panic.stderr
  592. noncopyable-class.rs
  593. noncopyable-class.stderr
  594. nonscalar-cast.fixed
  595. nonscalar-cast.rs
  596. nonscalar-cast.stderr
  597. not-clone-closure.rs
  598. not-clone-closure.stderr
  599. not-copy-closure.rs
  600. not-copy-closure.stderr
  601. not-enough-arguments.rs
  602. not-enough-arguments.stderr
  603. nul-characters.rs
  604. nullable-pointer-iotareduction.rs
  605. nullable-pointer-size.rs
  606. object-pointer-types.rs
  607. object-pointer-types.stderr
  608. objects-coerce-freeze-borrored.rs
  609. occurs-check-2.rs
  610. occurs-check-2.stderr
  611. occurs-check-3.rs
  612. occurs-check-3.stderr
  613. occurs-check.rs
  614. occurs-check.stderr
  615. once-cant-call-twice-on-heap.rs
  616. once-cant-call-twice-on-heap.stderr
  617. oom_unwind.rs
  618. op-assign-builtins-by-ref.rs
  619. opeq.rs
  620. opt-in-copy.rs
  621. opt-in-copy.stderr
  622. optimization-remark.rs
  623. out-pointer-aliasing.rs
  624. output-slot-variants.rs
  625. over-constrained-vregs.rs
  626. panic-while-printing.rs
  627. panic_implementation-closures.rs
  628. paren-span.rs
  629. paren-span.stderr
  630. partialeq_help.rs
  631. partialeq_help.stderr
  632. path-lookahead.fixed
  633. path-lookahead.rs
  634. path-lookahead.stderr
  635. path.rs
  636. paths-containing-nul.rs
  637. phantom-auto-trait.rs
  638. phantom-auto-trait.stderr
  639. point-to-type-err-cause-on-impl-trait-return-2.rs
  640. point-to-type-err-cause-on-impl-trait-return-2.stderr
  641. pptypedef.rs
  642. pptypedef.stderr
  643. primitive-binop-lhs-mut.rs
  644. print-calling-conventions.rs
  645. print-calling-conventions.stdout
  646. print-stdout-eprint-stderr.rs
  647. project-cache-issue-31849.rs
  648. ptr-coercion-rpass.rs
  649. ptr-coercion.rs
  650. ptr-coercion.stderr
  651. query-visibility.rs
  652. raw-str.rs
  653. README.md
  654. realloc-16687.rs
  655. reassign-ref-mut.rs
  656. reassign-ref-mut.stderr
  657. reexport-test-harness-main.rs
  658. removing-extern-crate.fixed
  659. removing-extern-crate.rs
  660. removing-extern-crate.stderr
  661. resource-assign-is-not-copy.rs
  662. resource-destruct.rs
  663. rustc-error.rs
  664. rustc-error.stderr
  665. seq-args.rs
  666. seq-args.stderr
  667. shadow-bool.rs
  668. shadowed-use-visibility.rs
  669. short-error-format.rs
  670. short-error-format.stderr
  671. sized-borrowed-pointer.rs
  672. sized-cycle-note.rs
  673. sized-cycle-note.stderr
  674. sized-owned-pointer.rs
  675. sse2.rs
  676. stable-addr-of.rs
  677. std-uncopyable-atomics.rs
  678. std-uncopyable-atomics.stderr
  679. stdio-is-blocking.rs
  680. string-box-error.rs
  681. struct-ctor-mangling.rs
  682. super-at-top-level.rs
  683. super-at-top-level.stderr
  684. super.rs
  685. svh-add-nothing.rs
  686. swap-1.rs
  687. swap-overlapping.rs
  688. switched-expectations.rs
  689. switched-expectations.stderr
  690. syntax-extension-minor.rs
  691. tag-type-args.rs
  692. tag-type-args.stderr
  693. tag-variant-cast-non-nullary.fixed
  694. tag-variant-cast-non-nullary.rs
  695. tag-variant-cast-non-nullary.stderr
  696. tail-call-arg-leak.rs
  697. tail-cps.rs
  698. tail-typeck.rs
  699. tail-typeck.stderr
  700. trailing-comma.rs
  701. trait-method-number-parameters.rs
  702. trait-method-number-parameters.stderr
  703. transmute-equal-assoc-types.rs
  704. transmute-non-immediate-to-immediate.rs
  705. trivial_casts-rpass.rs
  706. trivial_casts-rpass.stderr
  707. try-from-int-error-partial-eq.rs
  708. try-operator-hygiene.rs
  709. try-operator.rs
  710. tydesc-name.rs
  711. type-id-higher-rank-2.rs
  712. type-namespace.rs
  713. type-param-constraints.rs
  714. type-param.rs
  715. type-ptr.rs
  716. type-use-i1-versus-i8.rs
  717. type_length_limit.polonius.stderr
  718. type_length_limit.rs
  719. type_length_limit.stderr
  720. typeid-intrinsic.rs
  721. typestate-multi-decl.rs
  722. unconstrained-none.rs
  723. unconstrained-none.stderr
  724. unconstrained-ref.rs
  725. unconstrained-ref.stderr
  726. underscore-ident-matcher.rs
  727. underscore-ident-matcher.stderr
  728. underscore-lifetimes.rs
  729. underscore-method-after-integer.rs
  730. unevaluated_fixed_size_array_len.rs
  731. unevaluated_fixed_size_array_len.stderr
  732. uninit-empty-types.rs
  733. unit.rs
  734. unknown-language-item.rs
  735. unknown-language-item.stderr
  736. unknown-llvm-arg.rs
  737. unknown-llvm-arg.stderr
  738. unnamed_argument_mode.rs
  739. unreachable-code-1.rs
  740. unreachable-code.rs
  741. unsigned-literal-negation.rs
  742. unsigned-literal-negation.stderr
  743. unused-move-capture.rs
  744. unused-move.rs
  745. unwind-no-uwtable.rs
  746. use-import-export.rs
  747. use-keyword-2.rs
  748. use-module-level-int-consts.rs
  749. use-nested-groups.rs
  750. used.rs
  751. used.stderr
  752. using-target-feature-unstable.rs
  753. usize-generic-argument-parent.rs
  754. usize-generic-argument-parent.stderr
  755. utf8-bom.rs
  756. utf8_idents.rs
  757. wait-forked-but-failed-child.rs
  758. walk-struct-literal-with.rs
  759. walk-struct-literal-with.stderr
  760. weak-new-uninhabited-issue-48493.rs
  761. weird-exit-code.rs
  762. weird-exprs.rs
  763. write-fmt-errors.rs
  764. writing-to-immutable-vec.rs
  765. writing-to-immutable-vec.stderr
  766. 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>.