<commit_before># Remove `.self` and freely allow type references in expressions

* Proposal: [SE-0090](0090-remove-dot-self.md)
* Authors: [<NAME>](https://github.com/jckarter), [<NAME>](https://github.com/tannernelson)
* Review Manager: [<NAME>](http://github.com/lattner)
* Status: **Deferred**
* Decision Notes: [Rationale](https://forums.swift.org/t/deferred-se-0090-remove-self-and-freely-allow-type-references-in-expressions/2781)
* Revision: 2
* Review: ([pitch](https://forums.swift.org/t/making-self-after-type-optional/1737)) ([review](https://forums.swift.org/t/review-se-0090-remove-self-and-freely-allow-type-references-in-expressions/2664)) ([deferral](https://forums.swift.org/t/deferred-se-0090-remove-self-and-freely-allow-type-references-in-expressions/2781)) ([return for revision](https://forums.swift.org/t/returning-or-rejecting-all-the-deferred-evolution-proposals/60724))

## Introduction

Swift's grammar currently requires that type references only appear as part of
a constructor call `T(x)` or member access `T.x`. To get the metatype object
for `T`, one must refer to the special member `T.self`. I propose allowing
type references to appear freely in expressions and removing the `.self` member<commit_msg>[SE-0090] "Deferred" → "Returned for revision" (#1807)<commit_after># Remove `.self` and freely allow type references in expressions

* Proposal: [SE-0090](0090-remove-dot-self.md)
* Authors: [<NAME>](https://github.com/jckarter), [<NAME>](https://github.com/tannernelson)
* Review Manager: [<NAME>](http://github.com/lattner)
* Status: **Returned for revision**
* Review: ([pitch](https://forums.swift.org/t/making-self-after-type-optional/1737)) ([review](https://forums.swift.org/t/review-se-0090-remove-self-and-freely-allow-type-references-in-expressions/2664)) ([deferral](https://forums.swift.org/t/deferred-se-0090-remove-self-and-freely-allow-type-references-in-expressions/2781)) ([return for revision](https://forums.swift.org/t/returning-or-rejecting-all-the-deferred-evolution-proposals/60724))

## Introduction

Swift's grammar currently requires that type references only appear as part of
a constructor call `T(x)` or member access `T.x`. To get the metatype object
for `T`, one must refer to the special member `T.self`. I propose allowing
type references to appear freely in expressions and removing the `.self` member
{'fraction_non_alphanumeric': 0.1627318718381113, 'fraction_numerical': 0.03499156829679595, 'mean_word_length': 5.328, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 13, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6794607', 'n_tokens_mistral': 851, 'n_tokens_neox': 761, 'n_words': 168}