Merge oxidize scripts
[hiphop-php.git] / hphp / hack / src / oxidized_by_ref / gen / typing_mutability_env.rs
blob8a314a43bc554b18d816456b1566be70d350aab3
1 // Copyright (c) Facebook, Inc. and its affiliates.
2 //
3 // This source code is licensed under the MIT license found in the
4 // LICENSE file in the "hack" directory of this source tree.
5 //
6 // @generated SignedSource<<9746701d600405aa7bd2e5eea1be298c>>
7 //
8 // To regenerate this file, run:
9 //   hphp/hack/src/oxidize_regen.sh
11 use arena_trait::TrivialDrop;
12 use no_pos_hash::NoPosHash;
13 use ocamlrep_derive::FromOcamlRep;
14 use ocamlrep_derive::FromOcamlRepIn;
15 use ocamlrep_derive::ToOcamlRep;
16 use serde::Serialize;
18 #[allow(unused_imports)]
19 use crate::*;
21 pub use crate::local_id::map as l_map;
23 #[derive(
24     Clone,
25     Copy,
26     Debug,
27     Eq,
28     FromOcamlRep,
29     FromOcamlRepIn,
30     Hash,
31     NoPosHash,
32     Ord,
33     PartialEq,
34     PartialOrd,
35     Serialize,
36     ToOcamlRep
38 pub enum MutType {
39     Mutable,
40     Borrowed,
41     MaybeMutable,
42     Immutable,
44 impl TrivialDrop for MutType {}
46 #[derive(
47     Clone,
48     Debug,
49     Eq,
50     FromOcamlRepIn,
51     Hash,
52     NoPosHash,
53     Ord,
54     PartialEq,
55     PartialOrd,
56     Serialize,
57     ToOcamlRep
59 pub struct Mutability<'a>(pub &'a pos::Pos<'a>, pub MutType);
60 impl<'a> TrivialDrop for Mutability<'a> {}
62 pub type MutabilityEnv<'a> = local_id::map::Map<'a, &'a Mutability<'a>>;