Files
rust/tests/ui
bors 21e6de7eb6 Auto merge of #124187 - compiler-errors:self-ctor, r=petrochenkov
Warn (or error) when `Self` ctor from outer item is referenced in inner nested item

This implements a warning `SELF_CONSTRUCTOR_FROM_OUTER_ITEM` when a self constructor from an outer impl is referenced in an inner nested item. This is a proper fix mentioned https://github.com/rust-lang/rust/pull/117246#discussion_r1374648388.

This warning is additionally bumped to a hard error when the self type references generic parameters, since it's almost always going to ICE, and is basically *never* correct to do.

This also reverts part of https://github.com/rust-lang/rust/pull/117246, since I believe this is the proper fix and we shouldn't need the helper functions (`opt_param_at`/`opt_type_param`) any longer, since they shouldn't really ever be used in cases where we don't have this problem.
2024-05-25 01:17:55 +00:00
..
2024-05-13 16:55:58 -04:00
2024-05-02 19:42:31 -04:00
2024-05-21 20:16:39 +00:00
2024-04-24 13:12:33 +01:00
2024-04-21 15:43:43 -03:00
2024-02-01 03:31:03 +00:00
2024-03-06 12:01:54 +00:00
2024-04-21 15:43:43 -03:00
2024-04-14 21:34:14 +05:30
2024-04-12 20:57:07 +00:00
2024-05-24 14:01:49 +00:00
2024-05-20 11:13:10 -04:00
2024-05-02 19:42:31 -04:00
2024-05-20 19:21:30 -04:00
2024-04-12 17:45:15 +01:00
2024-04-29 14:53:38 +02:00
2024-04-25 10:47:24 +08:00
2024-05-20 20:30:44 +02:00
2024-05-20 11:13:10 -04:00
2024-05-02 19:42:31 -04:00
2024-04-07 17:38:07 -03:00
2024-05-19 19:10:04 +02:00
2024-04-11 17:53:27 -04:00
2024-05-17 18:33:37 -03:00
2024-05-22 22:40:34 +02:00
2024-03-23 16:14:42 +01:00
2024-04-21 15:43:43 -03:00
2024-05-20 11:13:10 -04:00
2024-02-29 14:43:43 +01:00
2024-05-18 18:11:20 -07:00
2024-05-20 20:30:44 +02:00
2024-05-21 20:16:39 +00:00
2024-03-31 14:58:17 -03:00
2024-04-27 10:54:31 +03:00
2024-04-25 10:51:54 -04:00
2024-03-15 13:37:41 +00:00
2024-05-22 22:40:34 +02:00
2024-04-07 17:38:07 -03:00
2024-05-21 20:16:39 +00:00
2024-04-27 10:54:31 +03:00
2024-02-22 18:05:28 +00:00
2024-01-13 12:46:58 -05:00
2024-02-07 10:42:01 +08:00
2024-01-13 12:46:58 -05:00
2024-02-07 10:42:01 +08:00

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>.