Skip to content

syntax: ABI-oblivious grammar#65884

Merged
bors merged 6 commits intorust-lang:masterfrom
Centril:non-hardcoded-abis
Nov 7, 2019
Merged

syntax: ABI-oblivious grammar#65884
bors merged 6 commits intorust-lang:masterfrom
Centril:non-hardcoded-abis

Conversation

@Centril
Copy link
Contributor

@Centril Centril commented Oct 28, 2019

This PR has the following effects:

  1. extern $lit is now legal where $lit:literal and $lit is substituted for a string literal.

  2. extern "abi_that_does_not_exist" is now syntactically legal whereas before, the set of ABI strings was hard-coded into the grammar of the language. With this PR, the set of ABIs are instead validated and translated during lowering. That seems more appropriate.

  3. ast::FloatTy is now distinct from rustc_target::abi::FloatTy. The former is used substantially more and the translation between them is only necessary in a single place.

  4. As a result of 2-3, libsyntax no longer depends on librustc_target, which should improve pipe-lining somewhat.

cc @rust-lang/lang -- the points 1-2 slightly change the definition of the language but in a way which seems consistent with our general principles (in particular wrt. the discussions of turning things into semantic errors). I expect this to be uncontroversial but it's worth letting y'all know. :)

r? @varkor

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-lang Relevant to the language team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants