Skip to content

Commit 25648e3

Browse files
author
Gianmarco Garrisi
committed
Update License
Add actual fix of #28
1 parent cc0dbe9 commit 25648e3

File tree

5 files changed

+319
-4
lines changed

5 files changed

+319
-4
lines changed
File renamed without changes.

MPL-2.0.txt

Lines changed: 312 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,312 @@
1+
Mozilla Public License Version 2.0
2+
3+
1. Definitions
4+
5+
1.1. "Contributor" means each individual or legal entity that creates, contributes
6+
to the creation of, or owns Covered Software.
7+
8+
1.2. "Contributor Version" means the combination of the Contributions of others
9+
(if any) used by a Contributor and that particular Contributor's Contribution.
10+
11+
1.3. "Contribution" means Covered Software of a particular Contributor.
12+
13+
1.4. "Covered Software" means Source Code Form to which the initial Contributor
14+
has attached the notice in Exhibit A, the Executable Form of such Source Code
15+
Form, and Modifications of such Source Code Form, in each case including portions
16+
thereof.
17+
18+
1.5. "Incompatible With Secondary Licenses" means
19+
20+
(a) that the initial Contributor has attached the notice described in Exhibit
21+
B to the Covered Software; or
22+
23+
(b) that the Covered Software was made available under the terms of version
24+
1.1 or earlier of the License, but not also under the terms of a Secondary
25+
License.
26+
27+
1.6. "Executable Form" means any form of the work other than Source Code Form.
28+
29+
1.7. "Larger Work" means a work that combines Covered Software with other
30+
material, in a separate file or files, that is not Covered Software.
31+
32+
1.8. "License" means this document.
33+
34+
1.9. "Licensable" means having the right to grant, to the maximum extent possible,
35+
whether at the time of the initial grant or subsequently, any and all of the
36+
rights conveyed by this License.
37+
38+
1.10. "Modifications" means any of the following:
39+
40+
(a) any file in Source Code Form that results from an addition to, deletion
41+
from, or modification of the contents of Covered Software; or
42+
43+
(b) any new file in Source Code Form that contains any Covered Software.
44+
45+
1.11. "Patent Claims" of a Contributor means any patent claim(s), including
46+
without limitation, method, process, and apparatus claims, in any patent Licensable
47+
by such Contributor that would be infringed, but for the grant of the License,
48+
by the making, using, selling, offering for sale, having made, import, or
49+
transfer of either its Contributions or its Contributor Version.
50+
51+
1.12. "Secondary License" means either the GNU General Public License, Version
52+
2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General
53+
Public License, Version 3.0, or any later versions of those licenses.
54+
55+
1.13. "Source Code Form" means the form of the work preferred for making modifications.
56+
57+
1.14. "You" (or "Your") means an individual or a legal entity exercising rights
58+
under this License. For legal entities, "You" includes any entity that controls,
59+
is controlled by, or is under common control with You. For purposes of this
60+
definition, "control" means (a) the power, direct or indirect, to cause the
61+
direction or management of such entity, whether by contract or otherwise,
62+
or (b) ownership of more than fifty percent (50%) of the outstanding shares
63+
or beneficial ownership of such entity.
64+
65+
2. License Grants and Conditions
66+
67+
2.1. Grants
68+
69+
Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive
70+
license:
71+
72+
(a) under intellectual property rights (other than patent or trademark) Licensable
73+
by such Contributor to use, reproduce, make available, modify, display, perform,
74+
distribute, and otherwise exploit its Contributions, either on an unmodified
75+
basis, with Modifications, or as part of a Larger Work; and
76+
77+
(b) under Patent Claims of such Contributor to make, use, sell, offer for
78+
sale, have made, import, and otherwise transfer either its Contributions or
79+
its Contributor Version.
80+
81+
2.2. Effective Date
82+
83+
The licenses granted in Section 2.1 with respect to any Contribution become
84+
effective for each Contribution on the date the Contributor first distributes
85+
such Contribution.
86+
87+
2.3. Limitations on Grant Scope
88+
89+
The licenses granted in this Section 2 are the only rights granted under this
90+
License. No additional rights or licenses will be implied from the distribution
91+
or licensing of Covered Software under this License. Notwithstanding Section
92+
2.1(b) above, no patent license is granted by a Contributor:
93+
94+
(a) for any code that a Contributor has removed from Covered Software; or
95+
96+
(b) for infringements caused by: (i) Your and any other third party's modifications
97+
of Covered Software, or (ii) the combination of its Contributions with other
98+
software (except as part of its Contributor Version); or
99+
100+
(c) under Patent Claims infringed by Covered Software in the absence of its
101+
Contributions.
102+
103+
This License does not grant any rights in the trademarks, service marks, or
104+
logos of any Contributor (except as may be necessary to comply with the notice
105+
requirements in Section 3.4).
106+
107+
2.4. Subsequent Licenses
108+
109+
No Contributor makes additional grants as a result of Your choice to distribute
110+
the Covered Software under a subsequent version of this License (see Section
111+
10.2) or under the terms of a Secondary License (if permitted under the terms
112+
of Section 3.3).
113+
114+
2.5. Representation
115+
116+
Each Contributor represents that the Contributor believes its Contributions
117+
are its original creation(s) or it has sufficient rights to grant the rights
118+
to its Contributions conveyed by this License.
119+
120+
2.6. Fair Use
121+
122+
This License is not intended to limit any rights You have under applicable
123+
copyright doctrines of fair use, fair dealing, or other equivalents.
124+
125+
2.7. Conditions
126+
127+
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
128+
Section 2.1.
129+
130+
3. Responsibilities
131+
132+
3.1. Distribution of Source Form
133+
134+
All distribution of Covered Software in Source Code Form, including any Modifications
135+
that You create or to which You contribute, must be under the terms of this
136+
License. You must inform recipients that the Source Code Form of the Covered
137+
Software is governed by the terms of this License, and how they can obtain
138+
a copy of this License. You may not attempt to alter or restrict the recipients'
139+
rights in the Source Code Form.
140+
141+
3.2. Distribution of Executable Form
142+
143+
If You distribute Covered Software in Executable Form then:
144+
145+
(a) such Covered Software must also be made available in Source Code Form,
146+
as described in Section 3.1, and You must inform recipients of the Executable
147+
Form how they can obtain a copy of such Source Code Form by reasonable means
148+
in a timely manner, at a charge no more than the cost of distribution to the
149+
recipient; and
150+
151+
(b) You may distribute such Executable Form under the terms of this License,
152+
or sublicense it under different terms, provided that the license for the
153+
Executable Form does not attempt to limit or alter the recipients' rights
154+
in the Source Code Form under this License.
155+
156+
3.3. Distribution of a Larger Work
157+
158+
You may create and distribute a Larger Work under terms of Your choice, provided
159+
that You also comply with the requirements of this License for the Covered
160+
Software. If the Larger Work is a combination of Covered Software with a work
161+
governed by one or more Secondary Licenses, and the Covered Software is not
162+
Incompatible With Secondary Licenses, this License permits You to additionally
163+
distribute such Covered Software under the terms of such Secondary License(s),
164+
so that the recipient of the Larger Work may, at their option, further distribute
165+
the Covered Software under the terms of either this License or such Secondary
166+
License(s).
167+
168+
3.4. Notices
169+
170+
You may not remove or alter the substance of any license notices (including
171+
copyright notices, patent notices, disclaimers of warranty, or limitations
172+
of liability) contained within the Source Code Form of the Covered Software,
173+
except that You may alter any license notices to the extent required to remedy
174+
known factual inaccuracies.
175+
176+
3.5. Application of Additional Terms
177+
178+
You may choose to offer, and to charge a fee for, warranty, support, indemnity
179+
or liability obligations to one or more recipients of Covered Software. However,
180+
You may do so only on Your own behalf, and not on behalf of any Contributor.
181+
You must make it absolutely clear that any such warranty, support, indemnity,
182+
or liability obligation is offered by You alone, and You hereby agree to indemnify
183+
every Contributor for any liability incurred by such Contributor as a result
184+
of warranty, support, indemnity or liability terms You offer. You may include
185+
additional disclaimers of warranty and limitations of liability specific to
186+
any jurisdiction.
187+
188+
4. Inability to Comply Due to Statute or Regulation
189+
190+
If it is impossible for You to comply with any of the terms of this License
191+
with respect to some or all of the Covered Software due to statute, judicial
192+
order, or regulation then You must: (a) comply with the terms of this License
193+
to the maximum extent possible; and (b) describe the limitations and the code
194+
they affect. Such description must be placed in a text file included with
195+
all distributions of the Covered Software under this License. Except to the
196+
extent prohibited by statute or regulation, such description must be sufficiently
197+
detailed for a recipient of ordinary skill to be able to understand it.
198+
199+
5. Termination
200+
201+
5.1. The rights granted under this License will terminate automatically if
202+
You fail to comply with any of its terms. However, if You become compliant,
203+
then the rights granted under this License from a particular Contributor are
204+
reinstated (a) provisionally, unless and until such Contributor explicitly
205+
and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor
206+
fails to notify You of the non-compliance by some reasonable means prior to
207+
60 days after You have come back into compliance. Moreover, Your grants from
208+
a particular Contributor are reinstated on an ongoing basis if such Contributor
209+
notifies You of the non-compliance by some reasonable means, this is the first
210+
time You have received notice of non-compliance with this License from such
211+
Contributor, and You become compliant prior to 30 days after Your receipt
212+
of the notice.
213+
214+
5.2. If You initiate litigation against any entity by asserting a patent infringement
215+
claim (excluding declaratory judgment actions, counter-claims, and cross-claims)
216+
alleging that a Contributor Version directly or indirectly infringes any patent,
217+
then the rights granted to You by any and all Contributors for the Covered
218+
Software under Section 2.1 of this License shall terminate.
219+
220+
5.3. In the event of termination under Sections 5.1 or 5.2 above, all end
221+
user license agreements (excluding distributors and resellers) which have
222+
been validly granted by You or Your distributors under this License prior
223+
to termination shall survive termination.
224+
225+
6. Disclaimer of Warranty
226+
227+
Covered Software is provided under this License on an "as is" basis, without
228+
warranty of any kind, either expressed, implied, or statutory, including,
229+
without limitation, warranties that the Covered Software is free of defects,
230+
merchantable, fit for a particular purpose or non-infringing. The entire risk
231+
as to the quality and performance of the Covered Software is with You. Should
232+
any Covered Software prove defective in any respect, You (not any Contributor)
233+
assume the cost of any necessary servicing, repair, or correction. This disclaimer
234+
of warranty constitutes an essential part of this License. No use of any Covered
235+
Software is authorized under this License except under this disclaimer.
236+
237+
7. Limitation of Liability
238+
239+
Under no circumstances and under no legal theory, whether tort (including
240+
negligence), contract, or otherwise, shall any Contributor, or anyone who
241+
distributes Covered Software as permitted above, be liable to You for any
242+
direct, indirect, special, incidental, or consequential damages of any character
243+
including, without limitation, damages for lost profits, loss of goodwill,
244+
work stoppage, computer failure or malfunction, or any and all other commercial
245+
damages or losses, even if such party shall have been informed of the possibility
246+
of such damages. This limitation of liability shall not apply to liability
247+
for death or personal injury resulting from such party's negligence to the
248+
extent applicable law prohibits such limitation. Some jurisdictions do not
249+
allow the exclusion or limitation of incidental or consequential damages,
250+
so this exclusion and limitation may not apply to You.
251+
252+
8. Litigation
253+
254+
Any litigation relating to this License may be brought only in the courts
255+
of a jurisdiction where the defendant maintains its principal place of business
256+
and such litigation shall be governed by laws of that jurisdiction, without
257+
reference to its conflict-of-law provisions. Nothing in this Section shall
258+
prevent a party's ability to bring cross-claims or counter-claims.
259+
260+
9. Miscellaneous
261+
262+
This License represents the complete agreement concerning the subject matter
263+
hereof. If any provision of this License is held to be unenforceable, such
264+
provision shall be reformed only to the extent necessary to make it enforceable.
265+
Any law or regulation which provides that the language of a contract shall
266+
be construed against the drafter shall not be used to construe this License
267+
against a Contributor.
268+
269+
10. Versions of the License
270+
271+
10.1. New Versions
272+
273+
Mozilla Foundation is the license steward. Except as provided in Section 10.3,
274+
no one other than the license steward has the right to modify or publish new
275+
versions of this License. Each version will be given a distinguishing version
276+
number.
277+
278+
10.2. Effect of New Versions
279+
280+
You may distribute the Covered Software under the terms of the version of
281+
the License under which You originally received the Covered Software, or under
282+
the terms of any subsequent version published by the license steward.
283+
284+
10.3. Modified Versions
285+
286+
If you create software not governed by this License, and you want to create
287+
a new license for such software, you may create and use a modified version
288+
of this License if you rename the license and remove any references to the
289+
name of the license steward (except to note that such modified license differs
290+
from this License).
291+
292+
10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses
293+
294+
If You choose to distribute Source Code Form that is Incompatible With Secondary
295+
Licenses under the terms of this version of the License, the notice described
296+
in Exhibit B of this License must be attached. Exhibit A - Source Code Form
297+
License Notice
298+
299+
This Source Code Form is subject to the terms of the Mozilla Public License,
300+
v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain
301+
one at http://mozilla.org/MPL/2.0/.
302+
303+
If it is not possible or desirable to put the notice in a particular file,
304+
then You may include the notice in a location (such as a LICENSE file in a
305+
relevant directory) where a recipient would be likely to look for such a notice.
306+
307+
You may add additional accurate notices of copyright ownership.
308+
309+
Exhibit B - "Incompatible With Secondary Licenses" Notice
310+
311+
This Source Code Form is "Incompatible With Secondary Licenses", as defined
312+
by the Mozilla Public License, v. 2.0.

src/iterators.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU Lesser General Public License as published by
77
* the Free Software Foundation, either version 3 of the License, or
8-
* (at your option) any later version.
8+
* (at your option) any later version, or (at your opinion) under the terms
9+
* of the Mozilla Public License version 2.0.
910
*
1011
* This program is distributed in the hope that it will be useful,
1112
* but WITHOUT ANY WARRANTY; without even the implied warranty of

src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU Lesser General Public License as published by
77
* the Free Software Foundation, either version 3 of the License, or
8-
* (at your option) any later version.
8+
* (at your option) any later version, or (at your opinion) under the terms
9+
* of the Mozilla Public License version 2.0.
910
*
1011
* This program is distributed in the hope that it will be useful,
1112
* but WITHOUT ANY WARRANTY; without even the implied warranty of

src/pqueue.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU Lesser General Public License as published by
77
* the Free Software Foundation, either version 3 of the License, or
8-
* (at your option) any later version.
8+
* (at your option) any later version, or (at your opinion) under the terms
9+
* of the Mozilla Public License version 2.0.
910
*
1011
* This program is distributed in the hope that it will be useful,
1112
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -548,7 +549,7 @@ where
548549
*self.qp.get_unchecked_mut(*heap_pos) = pos;
549550
}
550551
}
551-
self.heapify(pos);
552+
self.heapify(parent(pos));
552553
}
553554
}
554555

0 commit comments

Comments
 (0)